Android 手机应用的开发经验—QR生成器
2010-08-21 03:25:00 来源:WEB开发网intPadding + i * 3 + 2,// 左上边y
intPadding + j * 3 + 2 + 3,// 右下边x
intPadding + i * 3 + 2 + 3// 右下边y
), mPaint01);
}
}
}
}
你没看错,这段代码和第一种方法的代码基本一模一样。我是这样理解的:Canvas绘图和SurfaceView和Bitmap都没有实质的关系,但是在创建Canvas对象时,Canvas有几种创建方式,一种是用SurfaceHolder对象获取,另一种是和Bitmap关联。用 SurfaceView和Canvas绘图后,图像会显示在SurfaceView上。用Bitmap和Canvas绘图后,图像信息会储存在 Bitmap对象中。
3.6:QR图像保存
前面关于绘图的讨论那么多,就是为保存问题做铺垫。在Android上绘图后保存,貌似只能通过图像的Bitmap信息保存,也可能是我孤陋寡闻,只知道这一种方法。
Java代码
public void saveMyBitmap(String bitName, Bitmap bmp) throws IOException {
File f = new File("/sdcard/" + bitName + ".png");
f.createNewFile();
FileOutputStream fOut = null;
try {
fOut = new FileOutputStream(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// Log.i("wwj",""+bmp);
bmp.compress(Bitmap.CompressFormat.PNG, 100, fOut);
try {
fOut.flush();
} catch (IOException e) {
e.printStackTrace();
}
try {
fOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void saveMyBitmap(String bitName, Bitmap bmp) throws IOException {
File f = new File("/sdcard/" + bitName + ".png");
f.createNewFile();
FileOutputStream fOut = null;
try {
fOut = new FileOutputStream(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// Log.i("wwj",""+bmp);
bmp.compress(Bitmap.CompressFormat.PNG, 100, fOut);
更多精彩
赞助商链接