public static ColorMatrixColorFilter GetColorFilter(bool disabled, bool highlighted) { if (_cdDownloadItemGrayscale == null) { var cm = new ColorMatrixBuilder().Saturation(0.0f).Create(); _cdDownloadItemGrayscale = new ColorMatrixColorFilter(cm); } if (_cdDownloadItemHighlighted == null) { var cm = new ColorMatrixBuilder().Hue(-20f).Create(); _cdDownloadItemHighlighted = new ColorMatrixColorFilter(cm); } if (disabled) { return(_cdDownloadItemGrayscale); } if (highlighted) { return(_cdDownloadItemHighlighted); } return(null); }
Bitmap ApplyHiFi(Bitmap src) { var bm = src.Copy(); /*var w = c.Width; * var h = c.Height; * * var bm = Bitmap.CreateBitmap(w, h, c.GetConfig());*/ float brightness = 0.25f; float contrast = 1.25f; var canvasResult = new Canvas(bm); var paint = new Paint(); ColorMatrix colorMatrix = new ColorMatrix(new float[] { contrast, 0, 0, 0, brightness, 0, contrast, 0, 0, brightness, 0, 0, contrast, 0, brightness, 0, 0, 0, 1, 0 }); var filter = new ColorMatrixColorFilter(colorMatrix); paint.SetColorFilter(filter); canvasResult.DrawBitmap(bm, 0, 0, paint); return(bm); }
public Bitmap Transform(Bitmap source) { Bitmap result = Bitmap.CreateBitmap(source.Width, source.Height, source.GetConfig()); Bitmap noise; try { noise = picasso.Load(Resource.Drawable.noise).Get(); } catch (Exception) { throw new Exception("Failed to apply transformation! Missing resource."); } BitmapShader shader = new BitmapShader(noise, Shader.TileMode.Repeat, Shader.TileMode.Repeat); ColorMatrix colorMatrix = new ColorMatrix(); colorMatrix.SetSaturation(0); ColorMatrixColorFilter filter = new ColorMatrixColorFilter(colorMatrix); Paint paint = new Paint(PaintFlags.AntiAlias); paint.SetColorFilter(filter); Canvas canvas = new Canvas(result); canvas.DrawBitmap(source, 0, 0, paint); paint.SetColorFilter(null); paint.SetShader(shader); paint.SetXfermode(new PorterDuffXfermode(PorterDuff.Mode.Multiply)); canvas.DrawRect(0, 0, canvas.Width, canvas.Height, paint); source.Recycle(); noise.Recycle(); return(result); }
public static void CustomizedToast(Android.Graphics.Color textColor, Android.Graphics.Color backgroundColor, string message, ToastLength length = ToastLength.Long, string iconResource = "Elec", float textSize = 16, string resourceFolder = "drawable") { int resourceId = Android.App.Application.Context.Resources.GetIdentifier(iconResource, resourceFolder, Android.App.Application.Context.PackageName); var toast = Toast.MakeText(Android.App.Application.Context, message, length); var v = (Android.Views.ViewGroup)toast.View; if (v.ChildCount > 0 && v.GetChildAt(0) is TextView) { TextView tv = (TextView)v.GetChildAt(0); tv.SetTextColor(textColor); tv.SetCompoundDrawablesRelativeWithIntrinsicBounds(resourceId, 0, 0, 0); tv.SetTextSize(Android.Util.ComplexUnitType.Sp, textSize); } Android.Graphics.Color c = backgroundColor; ColorMatrixColorFilter CM = new ColorMatrixColorFilter(new float[] { 0, 0, 0, 0, c.R, 0, 0, 0, 0, c.G, 0, 0, 0, 0, c.B, 0, 0, 0, 1, 0 }); toast.View.Background.SetColorFilter(CM); toast.Show(); }
public void ShortAlert(string message) { // Toast.MakeText(Application.Context, message, ToastLength.Short).Show(); Toast t = Toast.MakeText(Application.Context, message, ToastLength.Short); System.Drawing.Color c = System.Drawing.Color.FromArgb(88, 197, 255); ColorMatrixColorFilter CM = new ColorMatrixColorFilter(new float[] { 0, 0, 0, 0, c.R, 0, 0, 0, 0, c.G, 0, 0, 0, 0, c.B, 0, 0, 0, 1, 0 }); t.View.Background.SetColorFilter(CM); t.Show(); //float cc = (((float)(c.R) + (float)(c.G) + (float)(c.B)) / 3); //if (cc >= 80) // t.View.FindViewById<TextView>(Android.Resource.Id.Message).SetTextColor((Android.Content.Res.ColorStateList)Android.Resource.Color.White); //else // t.View.FindViewById<TextView>(Android.Resource.Id.Message).SetTextColor((Android.Content.Res.ColorStateList)Android.Resource.Color.White); }
private static ColorMatrixColorFilter GetCommonColorFilter() { if (_cfPoiCommon == null) { var cm = new ColorMatrixBuilder().Hue(+30).Brightness(-100).Saturation(0.4f).Create(); _cfPoiCommon = new ColorMatrixColorFilter(cm); } return(_cfPoiCommon); }
private static ColorMatrixColorFilter GetFavouriteColorFilter() { if (_cfPoiFavourite == null) { var cm = new ColorMatrixBuilder().Hue(-30).Create(); _cfPoiFavourite = new ColorMatrixColorFilter(cm); } return(_cfPoiFavourite); }
private static ColorMatrixColorFilter GetImportantColorFilter() { if (_cfPoiImportant == null) { var cm = new ColorMatrixBuilder().Create(); _cfPoiImportant = new ColorMatrixColorFilter(cm); } return(_cfPoiImportant); }
protected override void OnElementChanged(ElementChangedEventArgs <Image> e) { base.OnElementChanged(e); if (Control != null) { ColorMatrix matrix = new ColorMatrix(); matrix.SetSaturation(0); ColorMatrixColorFilter cf = new ColorMatrixColorFilter(matrix); Control.SetColorFilter(cf); Control.ImageAlpha = 128; } }
// Fill in the contents of the photo card (invoked by the layout manager): public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { RecyclerViewHolder vh = holder as RecyclerViewHolder; context = Application.Context; // Set the ImageView and TextView in this ViewHolder's CardView // from this position in the photo album: vh.LevelNameTextView.Text = levels[position].LevelName; vh.LevelNumberTextView.Text = levels[position].Number.ToString(); vh.LevelScoreTextView.Text = levels[position].LevelScoreEarned.ToString(); vh.LevelTotalScoreTextView.Text = levels[position].LevelTotalScore.ToString(); vh.MapImageView.SetImageResource(levels[position].Map); vh.LeftFlagImageView1.SetImageResource(levels[position].LeftFlag1); vh.LeftFlagImageView2.SetImageResource(levels[position].LeftFlag2); vh.LeftFlagImageView3.SetImageResource(levels[position].LeftFlag3); vh.RightFlagImageView1.SetImageResource(levels[position].RightFlag1); vh.RightFlagImageView2.SetImageResource(levels[position].RightFlag2); vh.RightFlagImageView3.SetImageResource(levels[position].RightFlag3); vh.VehicleTypeImageView1.SetImageResource(levels[position].VehicleType1); vh.VehicleTypeImageView2.SetImageResource(levels[position].VehicleType2); ColorMatrix matrix = new ColorMatrix(); matrix.SetSaturation(0); ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix); #region BWImage if (levels[position].LevelUnlocked) { // } else { vh.MapImageView.SetColorFilter(filter); vh.LeftFlagImageView1.SetColorFilter(filter); vh.LeftFlagImageView2.SetColorFilter(filter); vh.LeftFlagImageView3.SetColorFilter(filter); vh.RightFlagImageView1.SetColorFilter(filter); vh.RightFlagImageView2.SetColorFilter(filter); vh.RightFlagImageView3.SetColorFilter(filter); vh.VehicleTypeImageView1.SetColorFilter(filter); vh.VehicleTypeImageView2.SetColorFilter(filter); vh.LevelNameLinear.SetBackgroundResource(Resource.Drawable._MMTopLevelGray); vh.LevelScoreTextView.SetTextColor(Color.Gray); vh.LevelTotalScoreTextView.SetTextColor(Color.Gray); vh.LevelScoreDividerTextView.SetTextColor(Color.Gray); } #endregion }
public void LongAlert(string message, System.Drawing.Color color) { var toast = Toast.MakeText(Application.Context, message, ToastLength.Long); var colorMatrix = new ColorMatrixColorFilter(new float[] { 0, 0, 0, 0, color.R, 0, 0, 0, 0, color.G, 0, 0, 0, 0, color.B, 0, 0, 0, 1, 0 }); toast.View.Background.SetColorFilter(colorMatrix); toast.Show(); }
public byte[] Sepia(byte[] image) { Bitmap bmpOriginal = ByteToBitmap(image); int width, height, r, g, b, c, gry; height = bmpOriginal.Height; width = bmpOriginal.Width; int depth = 20; Bitmap bmpSephia = Bitmap.CreateBitmap(width, height, Bitmap.Config.Argb8888); Canvas canvas = new Canvas(bmpSephia); Paint paint = new Paint(); ColorMatrix cm = new ColorMatrix(); cm.SetScale(.3f, .3f, .3f, 1.0f); ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm); paint.SetColorFilter(f); canvas.DrawBitmap(bmpOriginal, 0, 0, paint); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { c = bmpOriginal.GetPixel(x, y); r = Android.Graphics.Color.GetRedComponent(c); g = Android.Graphics.Color.GetGreenComponent(c); b = Android.Graphics.Color.GetBlueComponent(c); gry = (r + g + b) / 3; r = g = b = gry; r = r + (depth * 2); g = g + depth; if (r > 255) { r = 255; } if (g > 255) { g = 255; } bmpSephia.SetPixel(x, y, Android.Graphics.Color.Rgb(r, g, b)); } } byte[] sepiaimage = BitmaptoByte(bmpSephia); return(sepiaimage); }
//Metoda pro změnu saturace. Zde nemusíme vytvářet matici, ale třída ColorMatrix má vlastní meotdu pro změnu saturace, do které se nahraje pouze hodnota. public Bitmap SaturationChanged(Bitmap oldBtm, float value) { newBtm = Bitmap.CreateBitmap(oldBtm.Width, oldBtm.Height, oldBtm.GetConfig()); clrMatrix = new ColorMatrix(); clrMatrix.SetSaturation(value); imgMtrxFilter = new ColorMatrixColorFilter(clrMatrix); paint = new Paint(); paint.SetColorFilter(imgMtrxFilter); canvas = new Canvas(newBtm); canvas.DrawBitmap(oldBtm, new Matrix(), paint); return(newBtm); }
public static Bitmap ApplyBitmapBrightness(int brightnessLevel, Bitmap bitmap) { // Create a temporary bitmap to preserve the original image for the final draw Bitmap brightnessAdjustedBitmap = Bitmap.CreateBitmap(bitmap.Width, bitmap.Height, Bitmap.Config.Argb8888); Canvas c = new Canvas(brightnessAdjustedBitmap); Paint paint = new Paint(); ColorMatrix colorMatrix = new ColorMatrix(); // Apply the brightness filter and draw the final bitmap using // the paint object and the origin bitmap ColorMatrixColorFilter brightnessFilter = AdjustBrightness(brightnessLevel); paint.SetColorFilter(brightnessFilter); c.DrawBitmap(bitmap, 0, 0, paint); return(brightnessAdjustedBitmap); }
public Bitmap ToGrayscale(Bitmap bmpOriginal) { var height = bmpOriginal.Height; var width = bmpOriginal.Width; var bmpGrayscale = Bitmap.CreateBitmap(width, height, Bitmap.Config.Argb8888); var c = new Canvas(bmpGrayscale); var paint = new Paint(); var cm = new ColorMatrix(); cm.SetSaturation(0); var f = new ColorMatrixColorFilter(cm); paint.SetColorFilter(f); c.DrawBitmap(bmpOriginal, 0, 0, paint); return(bmpGrayscale); }
private ColorFilter GetColorFilter(Color color) { int iColor = color; int red = (iColor & 0xFF0000) / 0xFFFF; int green = (iColor & 0xFF00) / 0xFF; int blue = iColor & 0xFF; float[] matrix = { 0, 0, 0, 0, red , 0, 0, 0, 0, green , 0, 0, 0, 0, blue , 0, 0, 0, 1, 0 }; ColorFilter colorFilter = new ColorMatrixColorFilter(matrix); return(colorFilter); }
public void OnAnimationUpdate(ValueAnimator animation) { if (animation == animationSat) { matrix.SetSaturation((float)animation.AnimatedValue); saturation = (float)animation.AnimatedValue; ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix); mImage.SetColorFilter(filter); } else if (animation == animationZoomIn) { Control.ScaleX = (float)animation.AnimatedValue; Control.ScaleY = (float)animation.AnimatedValue; zoom = (float)animation.AnimatedValue; } Control.SetImageDrawable(mImage); }
public static ColorMatrixColorFilter AdjustBrightness(int BrightnessLevel) { ColorMatrix matrix = new ColorMatrix(); // This is essentially an identity matrix that adjusts colors based on the fourth // element of each row of the matrix matrix.Set(new float[] { 1F, 0, 0, 0, 0.4F, 0, 0, 0, 0, 0, 0, 0, 1F, 0, 0.4F, 0, 0, 0, 0.8F, 0 }); ColorMatrixColorFilter brightnessFilter = new ColorMatrixColorFilter(matrix); return(brightnessFilter); }
void IMessage.ShortTime(string message) { var toast = Toast.MakeText(Android.App.Application.Context, message, ToastLength.Short); toast.SetGravity(GravityFlags.Bottom, 0, 300); //Color c = Color.Argb(100,0,100,0); Color c = Color.Rgb(0, 255, 0); ColorMatrixColorFilter CM = new ColorMatrixColorFilter(new float[] { 0, 0, 0, 0, c.R, 0, 0, 0, 0, c.G, 0, 0, 0, 0, c.B, 0, 0, 0, 1, 0 }); toast.View.Background.SetColorFilter(CM); toast.Show(); }
//Metoda pro úpravu jasu, nejprve se vytvoří nová prázdná bitmapa podle výšky a šířky původní bitmapy, dále se vytvoří matice, reprezentující barvy a jejich scaling factor(1), poslední //položka každého řádku matice představuje jas obrázku, do kterého nahrajeme získanou hodnotu. Vytvoříme filter, do kterého nahrajem martici, barvu, do které nahrajem filtr, do canvasu uložíme //novou bitmapu a aplikuejem na ní novou barvu public Bitmap ExposureChanged(Bitmap oldBtm, float value) { newBtm = Bitmap.CreateBitmap(oldBtm.Width, oldBtm.Height, oldBtm.GetConfig()); clrMatrix = new ColorMatrix(new float[] { 1, 0, 0, 0, value, //red 0, 1, 0, 0, value, //green 0, 0, 1, 0, value, //blue 0, 0, 0, 1, 0 }); //alpha imgMtrxFilter = new ColorMatrixColorFilter(clrMatrix); paint = new Paint(); paint.SetColorFilter(imgMtrxFilter); canvas = new Canvas(newBtm); canvas.DrawBitmap(oldBtm, new Matrix(), paint); return(newBtm); }
// 转成灰度图 public static Bitmap toGrayscale(Bitmap bmpOriginal) { int width, height; height = bmpOriginal.Height; width = bmpOriginal.Width; Bitmap bmpGrayscale = Bitmap.CreateBitmap(width, height, Config.Argb8888); Canvas c = new Canvas(bmpGrayscale); Paint paint = new Paint(); ColorMatrix cm = new ColorMatrix(); cm.SetSaturation(0); ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm); paint.SetColorFilter(f); c.DrawBitmap(bmpOriginal, 0, 0, paint); return(bmpGrayscale); }
public Android.Graphics.Bitmap ToGrayScale(Android.Graphics.Bitmap image) { int width, height; height = image.Height; width = image.Width; Android.Graphics.Bitmap bmpGrayscale = Android.Graphics.Bitmap.CreateBitmap(width, height, Android.Graphics.Bitmap.Config.Argb8888); Canvas c = new Canvas(bmpGrayscale); Paint paint = new Paint(); ColorMatrix cm = new ColorMatrix(); cm.SetSaturation(0); ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm); paint.SetColorFilter(f); c.DrawBitmap(image, 0, 0, paint); return(bmpGrayscale); }
public byte[] ResizeImage(byte[] imageData, float width, float height, int quality) { // Load the bitmap Bitmap originalImage = BitmapFactory.DecodeByteArray(imageData, 0, imageData.Length); float oldWidth = (float)originalImage.Width; float oldHeight = (float)originalImage.Height; float scaleFactor = 0f; if (oldWidth > oldHeight) { scaleFactor = width / oldWidth; } else { scaleFactor = height / oldHeight; } float newHeight = oldHeight * scaleFactor; float newWidth = oldWidth * scaleFactor; Bitmap resizedImage = Bitmap.CreateScaledBitmap(originalImage, (int)newWidth, (int)newHeight, false); int scaled_width, scaled_height; scaled_height = resizedImage.Height; scaled_width = resizedImage.Width; Paint paint = new Paint(); ColorMatrix cm = new ColorMatrix(); cm.SetSaturation(0); ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm); paint.SetColorFilter(f); using (MemoryStream ms = new MemoryStream()) { resizedImage.Compress(Bitmap.CompressFormat.Jpeg, quality, ms); return(ms.ToArray()); } }
public static Bitmap toGrayScale(this string fileName) { BitmapFactory.Options options = new BitmapFactory.Options { InPreferredConfig = Bitmap.Config.Argb8888 }; Bitmap originalBitmap = BitmapFactory.DecodeFile(fileName, options); Bitmap grayBitmap = Bitmap.CreateBitmap(options.OutWidth, options.OutHeight, originalBitmap.GetConfig()); Canvas canvas = new Canvas(grayBitmap); Paint paint = new Paint(); ColorMatrix colorMatrix = new ColorMatrix(); colorMatrix.SetSaturation(0); ColorMatrixColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix); paint.SetColorFilter(colorFilter); canvas.DrawBitmap(originalBitmap, 0, 0, paint); return(grayBitmap); }
public static Bitmap Grayscale_ColorMatrixColorFilter(Bitmap src) { int width = src.Width; int height = src.Height; Bitmap dest = Bitmap.CreateBitmap(width, height, Bitmap.Config.Rgb565); Canvas canvas = new Canvas(dest); Paint paint = new Paint(); ColorMatrix colorMatrix = new ColorMatrix(); colorMatrix.SetSaturation(0); //value of 0 maps the color to gray-scale ColorMatrixColorFilter filter = new ColorMatrixColorFilter(colorMatrix); paint.SetColorFilter(filter); canvas.DrawBitmap(src, 0, 0, paint); return(dest); }
public static void ShowToastMessage(Context context, Color color, string message, ToastLength shorOrLong) { try { Toast t = Toast.MakeText(context, message, shorOrLong); Color c = color; ColorMatrixColorFilter CM = new ColorMatrixColorFilter(new float[] { 0, 0, 0, 0, c.R, 0, 0, 0, 0, c.G, 0, 0, 0, 0, c.B, 0, 0, 0, 1, 0 }); t.View.Background.SetColorFilter(CM); t.Show(); } catch (Exception ex) { } }
Bitmap ApplySaturation(Bitmap src, int value) { var bm = src.Copy(); var f_value = (float)(value / 100.0); //var w = c.Width; //var h = c.Height; //var bm = Bitmap.CreateBitmap(w, h, Bitmap.Config.Argb8888); var canvasResult = new Canvas(bm); var paint = new Paint(); var colorMatrix = new ColorMatrix(); colorMatrix.SetSaturation(f_value); var filter = new ColorMatrixColorFilter(colorMatrix); paint.SetColorFilter(filter); canvasResult.DrawBitmap(bm, 0, 0, paint); return(bm); }
public static Bitmap ToGreyScale(this Bitmap bmp) { if (bmp == null) { return(null); } var height = bmp.Height; var width = bmp.Width; var bmpGrayscale = Bitmap.CreateBitmap(width, height, Bitmap.Config.Argb8888); var canvas = new Canvas(bmpGrayscale); var paint = new Paint(); var cm = new ColorMatrix(); cm.SetSaturation(0); var filter = new ColorMatrixColorFilter(cm); paint.SetColorFilter(filter); canvas.DrawBitmap(bmp, 0, 0, paint); return(bmpGrayscale); }
//Metoda pro úpravu kontrastu, nejprve se vytvoří nová prázdná bitmapa podle výšky a šířky původní bitmapy, dále se vytvoří matice, reprezentující barvy a jejich scaling factor, //kontrast je kombinace jasu, vypočítaného podle vzorce a scale faktrou, vypočítaného podle vzorce. //Vytvoříme filter, do kterého nahrajem martici, barvu, do které nahrajem filtr, do canvasu uložíme //novou bitmapu a aplikuejem na ní novou barvu public Bitmap ContrastChanged(Bitmap oldBtm, float value) { newBtm = Bitmap.CreateBitmap(oldBtm.Width, oldBtm.Height, oldBtm.GetConfig()); float input = value / 100; float scale = input + 1f; float contrast = (-0.5f * scale + 0.5f) * 255f; clrMatrix = new ColorMatrix(new float[] { scale, 0, 0, 0, contrast, 0, scale, 0, 0, contrast, 0, 0, scale, 0, contrast, 0, 0, 0, 1, 0 }); imgMtrxFilter = new ColorMatrixColorFilter(clrMatrix); paint = new Paint(); paint.SetColorFilter(imgMtrxFilter); canvas = new Canvas(newBtm); canvas.DrawBitmap(oldBtm, new Matrix(), paint); return(newBtm); }
public PageWidget(Context context, string bookId, List <BookMixAToc.MixToc.Chapters> chaptersList, IOnReadStateChangeListener listener) : base(context, bookId, chaptersList, listener) { mPath0 = new Path(); mPath1 = new Path(); mMaxLength = (float)Java.Lang.Math.Hypot(mScreenWidth, mScreenHeight); mPaint = new Paint(); mPaint.SetStyle(Paint.Style.Fill); createDrawable(); ColorMatrix cm = new ColorMatrix();//设置颜色数组 float[] array = { 0.55f, 0, 0, 0, 80.0f, 0, 0.55f, 0, 0, 80.0f, 0, 0, 0.55f, 0, 80.0f, 0, 0, 0, 0.2f, 0 }; cm.Set(array); mColorMatrixFilter = new ColorMatrixColorFilter(cm); mMatrix = new Matrix(); mTouch.X = 0.01f; // 不让x,y为0,否则在点计算时会有问题 mTouch.Y = 0.01f; }