Android:绘制到画布,使左下角对应于(0,0)的方法?
我正在尝试编写一个可以在 Android 中使用的图形类(我知道存在预制的图形类),但是转换我的所有坐标将是一件痛苦的事情。有没有一种简单的方法可以使屏幕坐标从左下角开始?
I'm trying to write a graph class I can use in Android(I'm aware pre-made ones exist), but converting all of my coordinates would be a pain. Is there an easy way to make the screen coordinates start at the bottom left?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不,我不知道如何将
0,0
移动到左下角并获得您通常认为的“正常”坐标。但是将
scale()
和translate()
结合起来可能会达到相同的效果。No, I don't know of a way to move
0,0
to the bottom left and get what you would typically think of as "normal" coordinates.But combining
scale()
andtranslate()
might do the trick to achieve the same effect.您可以使用
canvas.scale(1, -1)
之类的方法翻转画布,然后将其平移到正确的位置。You can flip your Canvas with something like
canvas.scale(1, -1)
and then translate it to the right place.您可以使用
canvas.translate()
http://developer.android.com/reference/android/graphics/Canvas.html#translate(float, float) 将原点移动到您想要的位置。You can use
canvas.translate()
http://developer.android.com/reference/android/graphics/Canvas.html#translate(float, float) to move the origin to where you want.Android 画布的原点位于左上角。你想把它翻译到右下角。要进行此转换,请从画布高度中减去 y 坐标。
这应该使你的线从左下角开始。
The android canvas has the origin at the top left. You want to translate this to the bottom right. To do this translation, subtract the y co-ordinate from the Canvas height.
This should make your line start from the bottom left.