问题标签 [android-canvas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
41530 浏览

android - 使用 clipRect - 解释

我的问题是,上面的代码不应该画一个矩形然后裁剪左上角吗?矩形没有被裁剪。

请解释一下 clipRect 的作用。它实际上是在剪辑什么?给定坐标,它是否以矩形的形式剪辑?如果是这样,为什么上面的代码不起作用?

0 投票
1 回答
3274 浏览

android - Surface 和 Canvas 的关系:Android

Surface 和 Canvas 之间的关系到底是什么。

请解释。

0 投票
8 回答
105368 浏览

java - 如何在android画布中绘制一个实心三角形?

所以我在我的draw方法中使用下面的代码在android地图中绘制这个三角形:

pointX_returned 是我从字段中获取的坐标。它们基本上是纬度和经度。结果是一个漂亮的三角形,但内部是空的,因此我可以看到地图。有没有办法以某种方式填充它?

0 投票
1 回答
1440 浏览

android - 如何使用 ShapeDrawable 创建可点击按钮?

我正在尝试在 Canvas 上绘制一个形状并获取有关用户在该 Canvas 上执行的点击的信息。

我创建了一个扩展 Button 类的类。

然后,在同样扩展 View 的类中,我添加了实例化和侦听器:

执行此操作时,它无法检测到对图像/按钮的点击。我已经读过 ShapeDrawable 对象不能是“可点击的”,但我期待它能够工作,因为我正在扩展按钮(这是一个视图并且是“可点击的”)。

这可能吗?如果不是这种方式,您能否指导我以某种方式获取有关在 Canvas 或 View 上按下的屏幕坐标的信息?

提前致谢。

0 投票
8 回答
111535 浏览

android - 测量要在 Canvas 上绘制的文本高度(Android)

任何直接的方法来测量文本的高度?我现在这样做的方法是使用 PaintmeasureText()来获取宽度,然后通过反复试验找到一个值来获取近似高度。我也一直在搞乱FontMetrics,但所有这些似乎都是很糟糕的近似方法。

我正在尝试为不同的分辨率缩放东西。我可以做到,但我最终得到了令人难以置信的冗长代码,其中包含大量计算来确定相对大小。我恨它!一定有更好的方法。

0 投票
1 回答
10254 浏览

android - 如何将居中的多色文本写入画布?

我正在从线程写入画布。

当我有一个多色的SpannableStringBuilder我想写到画布上时,我的问题就开始了,我不知道该怎么做。SpannableStringBuilder有一种drawText()我一直无法使用的方法。还是有其他方法可以将字符串写入画布,其中一些字母具有不同的颜色?

0 投票
5 回答
31207 浏览

android - 将资源加载到可变位图

我正在从这样的资源中加载位图:

我想要做的是在我的绘制方法中将位图绘制到主画布之前对位图进行一些更改(因为在我的主循环中重复大量绘图时它不会改变似乎很浪费)。我正在使用以下内容对位图进行更改:

所以很自然地我得到了一个例外

所以为了避免我制作了位图的副本,以便它是可变的

哪个避免了这个问题,但它有时会导致 OutOfMemoryExceptions,知道有什么更好的方法来实现我想要的吗?

0 投票
2 回答
1111 浏览

android - 使用画布

我可以在我的画布上画一个签名。现在,我想将此签名保存为以后可以使用的图像。

我无法onClicklistener在这个画布上实现一个。我也不清楚这个签名如何存储为图像。请建议?

0 投票
1 回答
5099 浏览

android - 在android中刷新位图或画布

谁能告诉我如何刷新或重置位图或画布以在其上绘制另一个图像?

实际上我有一个地图二进制文件,其中包含以字节为单位的位图图块现在问题是我有一个带有缓冲区图像的缓冲区图像,我得到了要显示的屏幕图像。所以当我移动我的屏幕图像时,我需要刷新我的缓冲区图像并绘制新的图块以显示在屏幕上。

这是显示图像的代码。

这不是完整的来源,但我希望你们能有想法。

多谢

0 投票
3 回答
8867 浏览

java - 如何使用 Android Canvas 将图像从一个点移动到另一个点

我正在开发一个游戏,在这个游戏中,我必须将 Canvas 上的图像从一个点沿任何方向移动到另一个点,而不仅仅是垂直或水平。

如何以这种方式移动该图像?