gpt4 book ai didi

android - 有很大的概率如何在 Canvas 中移动

转载 作者:行者123 更新时间:2023-11-29 14:01:19 27 4
gpt4 key购买 nike

我有一个 Android 程序,你可以在其中输入方程式,程序会以"new"布局显示你一个图形,它就像坐标系。你有函数线、x 线、y 线......就像学校基础一样,你知道,简单的一个。但是,如果您的方程式编号高得像:“x*x*40”,您的图表线太大而无法显示。所以在这里我需要你的帮助。在 Android 中,您可以向上、向下、向左、向右、缩放等移动图片,...我可以对图表做同样的事情。我找到了一个像这样的教程:http://obviam.net/index.php/displaying -graphics-with-android/,但这包含图片,而我没有图片!我没有图片或其他任何东西。程序在 Canvas 中工作并使用如下命令绘制线条:“g.drawLine(x1, y1, x2, y2, color);”并且全屏看起来像这样:

http://grockit.com/blog/collegeprep/files/2009/12/14.JPG

所以这里的问题是如何像图片一样移动但它不是图片。在很多例子中,你必须有一张像 R.drawable.image 这样的图片,但这里只是计算出的线条。我有一个想法如何去做,但它可能很愚蠢:-如果你制作的图表比你的屏幕大(大得多)而不是屏幕截图,请像图片一样保存,而不是像示例中那样移动

(如果您需要更多解释,我可以做到)对不起,如果我的英语不好:(

谢谢

最佳答案

那么,您最好的选择是使用 OpenGL。否则,您不仅会遇到给定屏幕的线条有时太大或太小的问题,而且还会遇到不同屏幕分辨率的问题(您的线条对于 320x480 屏幕来说可能太大,但对于某些屏幕来说它会变得太小)新的 1280x720 屏幕)。

这是我会做的:

  • 使用正交投影制作 opengl 表面 View
  • 使正交投影的“远侧”具有高分辨率,固定宽度,比如 1600
  • 当表面初始化时,opengl 视口(viewport)被初始化为屏幕的宽度和高度表面远侧的高度也将设置为与屏幕保持比例。

  • 然后您可以使用 Canvas 及其 drawxxx() 方法创建一个位图,其中包含您的图形和文本以及您想要显示的任何其他内容。

  • 然后您使用该位图为您在正交视角中绘制的矩形多边形制作纹理。

  • 现在图表的大小将始终根据用户的屏幕大小适当缩放(就像始终适合)

  • 现在您还可以轻松添加缩放和滚动选项

关于android - 有很大的概率如何在 Canvas 中移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9396568/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com