我的应用程序有一个功能,可以让用户捕捉照片并在该照片上添加绘图。
所有照片的大小都重新调整为精确900 x 900
。允许用户向图像添加绘图。我保留了一个transparent image
并original image
在透明图像上进行绘图。绘图是使用canvas
.
但是当在具有720 x 480
(高度 x 宽度)的设备中绘图时。如果我创建一个900 x 900
透明图像并从 to 画一条线0,0
,900,900
画布只从0,0
to画线480,480
。
以下是代码的相应部分:
准备画布:
holder = getHolder();
if (holder.getSurface().isValid()) {
Canvas canvas = holder.lockCanvas();
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
/* original image is 900 x 900 */
overlayBitmap = Bitmap.createBitmap(originalImage.getWidth(), originalImage.getHeight(), originalImage.getConfig());
canvas.setBitmap(overlayBitmap);
}
画线:
canvas.drawLine(0, 0, 900, 900, paint);
我不知道为什么我会遇到这个问题。是因为使用canvas
??有什么解决办法吗?非常感谢任何帮助:-)