1
내 응용 프로그램은 기본 그리기 응용 프로그램입니다. 사용자는 캔버스에 그림을 그릴 수 있고 이미지를 PNG로 저장할 수 있습니다. 그는 이전에 그린 이미지를로드하고 편집 할 수 있습니다.안드로이드에서 그릴 수있는 sdcard에 PNG 이미지를 캔버스로로드하는 방법은 무엇입니까?
나는 첫 번째 부분을 할 수있었습니다. 즉, 사용자는 이미지를 그려서 sdcard에 저장할 수 있습니다. 저장된 PNG 파일을 Canvas에로드하고 그 위에 드로잉하는 데 문제가 있습니다.
여기 내 SurfaceView 클래스의 run 메소드입니다.
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);
}
}
}
}
'mBitmap'에 png를로드하려고했지만 작동하지 않았습니다. 도움을 주시면 감사하겠습니다.
감사합니다.