gpt4 book ai didi

android - 从另一个资源中绘制位图

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:55:54 25 4
gpt4 key购买 nike

我有两个位图,backgroundforeground。如何在不使用另一个 Canvas 的情况下在背景上绘制位图前景?

解决方案:

1) 首先使用附加选项 ARGB_8888 从资源创建位图

BitmapFactory.Options options = new BitmapFactory.Options();  
options.inPreferredConfig = Bitmap.Config.ARGB_8888;

2) 声明位图

Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.background, options);  
Bitmap foreground = BitmapFactory.decodeResource(getResources(), R.drawable.foreground, options);

3) onDraw()函数内部绘制图形

protected void onDraw(Canvas canvas)    
{
canvas.drawColor(Color.White);

Paint paint = new Paint();
canvas.drawBitmap(background, 0, 0, paint);
paint.setXfermode( new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER));
canvas.drawBitmap(foreground, 0, 0, paint);
}

正如 Soxxeh 所说,这是非常好的信息来源:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Xfermodes.html

最佳答案

试试这个:

canvas.drawBitmap(backgroundImageBitmap, 0.0f, 0.0f, null);
canvas.drawBitmap(foregroundImageBitmap, 0.0f, 0.0f, null);

第二张图像(前景图像)必须具有 Alpha 方面,否则您无法看穿它。

关于android - 从另一个资源中绘制位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10963838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com