gpt4 book ai didi

android - 如何将 sdcard 上的 PNG 图像加载到 Canvas 以在 Android 中绘制?

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

我的应用程序是一个基本的绘图应用程序。用户可以在 Canvas 上绘图并将图像保存为 PNG。他可以加载之前绘制的图像并进行编辑。

我能够完成第一部分。也就是说,用户可以绘制图像并将其保存在 sdcard 上。我在将保存的 png 文件加载到 Canvas 并在其上绘图时遇到问题。

这是我的 SurfaceView 类中的运行方法。

public void run() {
Canvas canvas = null;
while (running) {
try {
canvas = holder.lockCanvas(null);
synchronized (holder) {
if(mBitmap == null){
mBitmap = Bitmap.createBitmap (1, 1, Bitmap.Config.ARGB_8888);;
}
final Canvas c = new Canvas (mBitmap);
c.drawColor(Color.WHITE);

//pad.onDraw(canvas);

Paint p = new Paint();
p.setColor(Color.GRAY);

for(double x = 0.5;x < c.getWidth();x += 30) {
c.drawLine((float)x, 0, (float)x, c.getHeight(), p);
}

for(double y= 0.5;y < c.getHeight();y += 30) {
c.drawLine(0, (float)y, c.getWidth(), (float)y, p);
}

pad.onDraw(c);

canvas.drawBitmap (mBitmap, 0, 0, null);
}
} finally {
if (canvas != null) {
holder.unlockCanvasAndPost(canvas);
}
}
}
}

我尝试将 png 加载到“mBitmap”,但没有成功。任何帮助表示赞赏。

谢谢!

最佳答案

在您的代码中,您根本没有从 SD 卡加载图像,这是故意的吗?这是从 SD 卡打开图像的方式:

mBitmap = BitmapFactory.decodeFile("/sdcard/test.png");

关于android - 如何将 sdcard 上的 PNG 图像加载到 Canvas 以在 Android 中绘制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7174730/

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