繁体   English   中英

图像超过其他图像Android

[英]Image over other image Android

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

谢谢大家。

    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

您需要做的就是获取两个位图并设置它们
界限。 然后你需要在画布上绘制它们。 如果要将图像设置为半透明,则需要设置图片的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;

}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM