Android Canvas坐标系
作者:互联网
我正在尝试找到有关如何更改画布坐标系的信息.我有一些矢量数据,我想用圆形和直线等东西绘制到画布上,但数据的坐标系与画布坐标系不匹配.
有没有办法将我正在使用的单位映射到屏幕的单位?
我正在绘制一个不占用整个显示器的ImageView.
如果我必须在每次绘图调用之前进行自己的计算,如何找到ImageView的宽度和高度?
我尝试的getWidth()和getHeight()调用似乎返回整个画布大小,而不是ImageView的大小,这是没有用的.
我看到一些矩阵的东西,这对我有用吗?
我尝试使用“public void scale(float sx,float sy)”,但通过扩展每个像素,它更像是像素级缩放而不是矢量缩放功能.这意味着如果增加尺寸以适合屏幕,则线厚度也会增加.
更新:
经过一些研究,我开始认为没有办法将坐标系统改为其他东西.我需要将所有坐标映射到屏幕的像素坐标,并通过修改每个矢量来实现. getWidth()和getHeight()现在看起来对我来说效果更好.我可以说出了什么问题,但我怀疑我不能在构造函数中使用这些方法.
解决方法:
谢谢回复.我几乎已经放弃了以我认为应该的方式工作.当然,我认为事情应该如何发生并不是它们如何发生.
标签:android,canvas,drawing,coordinate-systems 来源: https://codeday.me/bug/20190705/1384480.html