• 图像透明化


    1、android中将图像进行透明度的处理

    其中setPixel时总是错误是图片是不可mutable(修改、改变)。,调用copy函数copy图片后仍不行,最后用createBitmap解决问题的且效率更高。

    方式一:这种方法针对与处理图像中的某些像素时候使用

    public Bitmap getTranslateImage(Bitmap bitmap , int alpha)//alpha 0 - 255
        {
            int w = bitmap.getWidth();
            int h = bitmap.getHeight();
            Bitmap bitmap2 = Bitmap.createBitmap(w , h , Bitmap.Config.ARGB_8888);
            for(int i = 0 ; i < h ; i++)
                for(int j = 0 ; j < w; j ++)
                {
                    int argb = bitmap.getPixel(j , i );
                    int r =( argb>>16)&0xff;
                    int g =( argb>>8)&0xff;
                    int b =argb&0xff;
                if((r + g + b)/3 >180)
                    {
                        int argb2 = (alpha<<24)|(argb & 0x00ffffff);
                        bitmap2.setPixel(j, i, argb2);
                    }
                 else
                        bitmap2.setPixel(j , i , argb);
                }
            return  bitmap2;
        }
    View Code

     方式二: 这种方法是针对图像整体进行改变透明度变化时候使用:巧妙的利用画布与画笔。画布和view的结合view.draw(canvas)将view的内容画到画布上,如android 截屏的实现:http://www.cnblogs.com/bokeofzp/p/6031231.html ,第8条

      public Bitmap getTranslateImage2(Bitmap bitmap , int alpha)
        {
            int w = bitmap.getWidth();
            int h = bitmap.getHeight();
            Bitmap bitmap2 = Bitmap.createBitmap(w , h , Bitmap.Config.ARGB_8888);
            // 建立Paint 物件
            Paint vPaint = new Paint();
            vPaint .setStyle( Paint.Style.STROKE );   //空心
            vPaint .setAlpha( alpha );   //
    
            Canvas canvas = new Canvas(bitmap2); //利用bitmap2作为画布
    //        canvas.drawBitmap ( bitmap , 0, 0, null );  //无透明
            canvas.drawBitmap ( bitmap , 0, 0, vPaint );  //有透明 ,将bitmap的图像画到画布上
            return  bitmap2;
        }
    View Code
  • 相关阅读:
    I Hate It HDU
    线段树为什么要开4倍空间
    敌兵布阵 HDU
    线段树 模板
    线段树原理详解
    HDU5037 Frog
    HDU5187 zhx's contest
    HDU5307 He is Flying
    UOJ#34. 多项式乘法
    Bzoj4766 文艺计算姬
  • 原文地址:https://www.cnblogs.com/bokeofzp/p/6051874.html
Copyright © 2020-2023  润新知