【发布时间】:2016-05-21 17:14:56
【问题描述】:
我的应用程序有一个功能,可以让用户捕捉照片并在该照片上添加绘图。
所有照片的大小都被重新调整为 900 x 900。
允许用户向图像添加绘图。我在original image 上保留transparent image 并在透明图像上进行绘图。使用canvas 完成绘图。
但是当在具有720 x 480(高x宽)的设备中绘图时。如果我创建一个900 x 900 透明图像并从0,0 到900,900 画一条线,画布只从0,0 到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??有什么解决办法吗?非常感谢任何帮助:-)
【问题讨论】:
标签: android canvas bitmap drawing custom-draw