【发布时间】:2015-12-17 18:07:42
【问题描述】:
我有一个显示图像(例如 2000x1000 像素)的图像视图,并且我在该图像(不是图像视图)上有一个坐标 (X,Y)。例如,我的图像视图的画布是 600x800。如何将点 (X,Y) 转换为屏幕坐标,以便我可以在 Image View 的 OnDraw(...) 方法上用它们绘制路径。任何帮助表示赞赏!谢谢。
更新:如果我使用矩阵来绘制坐标之间的路径,它可以工作,但我绘制的路径和对象变得非常小。这是我使用的代码。
final Matrix matrix = canvas.getMatrix();
matrix.preConcat( _view.getImageMatrix() );
matrix.preScale( 1.0f /_inSampleSize, 1.0f / _inSampleSize);
canvas.setMatrix( matrix );
//I draw the path here
更新:我添加了一张图片来展示使用矩阵绘制路径时的效果。我想让 4 条线和 4 个角球的尺寸正常。红色是保存图片的 Image View 的边界。
【问题讨论】:
-
"变得非常小" 你能发布任何截图吗?比如,比例因子是不是错了?
-
@Jenny 我刚刚为你发布了截图。
-
我不确定您所说的“正常”尺寸是什么意思,但假设您希望线条和圆圈更大。这不在我的专业领域。可能想为那个打开一个新问题。可能它们对于巨大的位图是“正常”大小的,然后缩小(像其他所有东西一样)以适应视图?
标签: android canvas matrix bitmap imageview