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); 

    效果如下:

  • 相关阅读:
    jQuery 文本框得失焦点应用
    .NET 学习书籍推荐
    Android开发常见问题小结
    如何使用别人项目源码
    Android相关学习资料整理
    Android网络文件下载模块整理
    父类方法扩展
    继承后构造函数的关系
    私有属性和私有方法l
    面向对象
  • 原文地址:https://www.cnblogs.com/mycing/p/5660057.html
Copyright © 2011-2022 走看看