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

    效果如下:

  • 相关阅读:
    C++ 虚函数表解析
    C#编写简单的聊天程序
    c#事件与委托
    c#文本控件实现换行
    docker 详细安装及问题排查
    hadoop命令行
    Spark中的多线程并发处理
    CDH6.1.0离线安装——笔记
    linux 常用命令
    Rsync 恢复 libselinux.SO.1
  • 原文地址:https://www.cnblogs.com/mycing/p/5660057.html
Copyright © 2011-2022 走看看