【问题标题】:how to use alpha blending for android to blend 2 photos如何使用 alpha 混合为 android 混合 2 张照片
【发布时间】:2014-11-20 10:31:20
【问题描述】:

对于一个应用程序,我需要在屏幕上显示一张照片,并在它上面显示我现在通过相机拍摄的照片的每一帧。我知道我需要使用 Alpha 混合来显示每个像素的每张照片的一部分,例如:在某个像素上,我将显示一张照片的 30% 和另一张照片的 70%。我能否解释一下如何做到这一点。

【问题讨论】:

    标签: android camera alpha alphablending


    【解决方案1】:

    要回答我自己的问题,可以通过访问两个位图上的每个像素来完成。之后,我需要为每个 Bitmap 赋予最终 Bitmap 的百分比,然后在新 Bitmap 上显示更改。

         public void blend(View v){
         operation= Bitmap.createBitmap(bmp.getWidth(),
         bmp.getHeight(),bmp.getConfig());
    
         for(int i=0; i<bmp.getWidth(); i++){
                for(int j=0; j<bmp.getHeight(); j++){
                   int p = bmp.getPixel(i, j);
                   int p2 = bmp2.getPixel(i, j);
    
    
                   int r = Color.red(p);
                   int g = Color.green(p);
                   int b = Color.blue(p);
    
                   int r2 = Color.red(p2);
                   int g2 = Color.green(p2);
                   int b2 = Color.blue(p2);
    
                   r=(r+r2)/2;
                   g=(g+g2)/2;
                   b=(b+b2)/2;
    
                   operation.setPixel(i, j, Color.argb(Color.alpha(p), r, g, b));
                }
         }
         img.setImageBitmap(operation); 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      • 2010-11-20
      • 2017-03-31
      • 1970-01-01
      • 2011-08-08
      相关资源
      最近更新 更多