gpt4 book ai didi

android - 为什么图像上的油漆变慢?

转载 作者:行者123 更新时间:2023-11-29 15:29:29 25 4
gpt4 key购买 nike

在我的 Android 绘画应用程序中,我将在 Canvas 上绘画。但有时我在那幅画之前有图像。那时我的油漆变慢了。问题出在哪里??

只在 Canvas 上绘画的代码:

@Override
protected void onDraw(Canvas canvas) {

//canvas.drawColor(0, PorterDuff.Mode.CLEAR);
// set the Canvas Color
canvas.drawColor(canvasColor); // edited

canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);

canvas.drawPath(mPath, mPaint);

}

获取图像作为背景的代码是:

 @Override
protected void onDraw(Canvas canvas) {

//canvas.drawColor(0, PorterDuff.Mode.CLEAR);
// set the Canvas Color
canvas.drawColor(canvasColor); // edited

if(!(imagePath==null))
{
Bitmap tempBitmap = BitmapFactory.decodeFile(imagePath); // from the gallery
photoBitmap = Bitmap.createScaledBitmap(tempBitmap, display.getWidth(), display.getHeight(), true);
}
if(!(imagePath==null))
{
canvas.drawBitmap (photoBitmap,0, 0, null);
}


canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
canvas.drawPath(mPath, mPaint);

}

现在我不知道为什么我在 Canvas 上绘画时绘画速度变慢,以及是否有图像作为背景。请帮助我。谢谢。

最佳答案

由于 onDraw 函数中的 Bitmap tempBitmap = BitmapFactory.decodeFile(imagePath); 这行,您的应用程序可能会变慢。如果您在每个实例中都更改位图,那么您应该在 onDraw 之外声明它,只需为其分配新的位图,如果您不更改它,则只需在开始时初始化并分配对象,而在 onDraw 中,只需在 Canvas 中绘制它。

关于android - 为什么图像上的油漆变慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8351759/

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