1
我的应用程序是一个基本的绘图应用程序。用户可以在画布上绘图并将图像保存为PNG。他可以加载早先绘制的图像并编辑它们。如何将SD卡上的PNG图像加载到Canvas以在Android中绘制?
我能够做第一部分。也就是说,用户可以在SD卡上绘制和保存图像。我无法将保存的PNG文件加载到画布上并对其进行绘制。
这里是我的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',但它没有奏效。 任何帮助表示赞赏。
谢谢!