zoukankan      html  css  js  c++  java
  • xamarin.android 图片高斯模糊效果

    代码如下:

         private static float BITMAP_SCALE = 0.1f;
            private static float BLUR_RADIUS = 12.0f;
    
            public static Bitmap Blur(Context ctx, Bitmap image)
            {
                int width =(int) Math.Round(image.Width * BITMAP_SCALE);
                int height =(int) Math.Round(image.Height * BITMAP_SCALE);
    
                Bitmap inputBitmap = Bitmap.CreateScaledBitmap(image, width, height, false);
                Bitmap outputBitmap = Bitmap.CreateBitmap(inputBitmap);
    
                RenderScript rs = RenderScript.Create(ctx);
                ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.Create(rs, Element.U8_4(rs));
                Allocation tmpIn = Allocation.CreateFromBitmap(rs, inputBitmap);
                Allocation tmpOut = Allocation.CreateFromBitmap(rs, outputBitmap);
                theIntrinsic.SetRadius(BLUR_RADIUS);
                theIntrinsic.SetInput(tmpIn);
                theIntrinsic.ForEach(tmpOut);
                tmpOut.CopyTo(outputBitmap);
    
                return outputBitmap;
            }
     var bitmap = ((BitmapDrawable)Resources.GetDrawable(Resource.Drawable.hero)).Bitmap;
    
    var blur = Blur(this, bitmap);
    var viewImage = FindViewById<ImageView>(Resource.Id.imageView1);
        viewImage.SetImageBitmap(blur); 

    效果如下:

  • 相关阅读:
    Vue基础
    ES6之promise
    第13次作业--邮箱的正则表达式
    第12次作业--你的生日
    第11次作业--字符串处理
    第10次作业
    Java找回感觉的练习
    第四次博客作业-结对项目
    第9次作业--接口及接口回调
    深入面向对象——继承
  • 原文地址:https://www.cnblogs.com/mycing/p/5660057.html
Copyright © 2011-2022 走看看