【问题标题】:Image over other image Android图像优于其他图像 Android
【发布时间】:2012-09-04 02:40:36
【问题描述】:

如何将图像(半透明)设置在其他图像之上?
我需要创建新的位图,然后保存它。

谢谢大家。

【问题讨论】:

    标签: android bitmap overlay


    【解决方案1】:
        Bitmap bitmap1 = null; // define it
        Bitmap bitmap2 = null; // define it
    
        Bitmap resultBitmap = Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), Bitmap.Config.ARGB_8888);
    
        Canvas c = new Canvas(resultBitmap);
    
        c.drawBitmap(bitmap1, 0, 0, null);
    
        Paint p = new Paint();
        p.setAlpha(127);
    
        c.drawBitmap(bitmap2, 0, 0, p);
    
        // Your final bitmap is resultBitmap
    

    【讨论】:

      【解决方案2】:

      您需要做的就是获取两个位图并设置它们的
      界限。然后你需要在画布上绘制它们。 如果要将图片设置为半透明,则需要设置图片的alpha。

      这是一个例子:

          Bitmap bitmap = null;
          try {
      
              bitmap = Bitmap.createBitmap(500, 500, Config.ARGB_8888);
              Canvas c = new Canvas(bitmap);
              Resources res = getResources();
      
      
              Bitmap bitmap1 = BitmapFactory.decodeResource(res, R.drawable.test1); //blue
      
              Bitmap bitmap2 = BitmapFactory.decodeResource(res, R.drawable.test2); //green
              Drawable drawable1 = new BitmapDrawable(bitmap1);
              Drawable drawable2 = new BitmapDrawable(bitmap2);
      
      
              drawable1.setBounds(100, 100, 400, 400);
              drawable2.setBounds(150, 150, 350, 350);
              drawable1.draw(c);
              drawable2.draw(c);
      
      
          } catch (Exception e) {
          }
          return bitmap;
      
      }
      

      【讨论】:

        【解决方案3】:

        从底层画布创建一个画布对象。然后将半透明位图绘制到该画布上。原来的 Bitmap 对象现在将在其上写入半透明位图。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-09
          • 1970-01-01
          • 2012-07-28
          • 1970-01-01
          相关资源
          最近更新 更多