Android密度绘画StrokeWidth计算

标签 android paint

我知道 android 中 Canvas 上的 PaintText 以可缩放的尺寸来衡量它的大小,但是用于绘制线条或其他东西的 strokeWidth 是精确的像素大小......所以,我如何计算我的笔划宽度应该在不同的屏幕上屏幕密度?

我知道我可以创建一个标准图像,然后只绘制图像,操作系统会处理它的密度,但这对我来说似乎有点过分了。似乎应该有一些简单的方法,可能是,将这个相对于密度 X 的真实像素数量转换为它应该用于密度 Y 的像素大小......或者更好的是,让 setStroke 有一个替代方案考虑密度。 (我没看到,但那会很好。)

我该怎么做?或者它是否存在而我只是在 API 的某处忽略了它?

最佳答案

使用 dimension 在 xml 中定义密度.

然后您可以使用 getResources().getDimensionPixelSize(R.dimen.yourdensity) 获取密度的像素值并将其用于笔划宽度。

关于Android密度绘画StrokeWidth计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8761610/

相关文章:

java - 用 Java 在窗口外绘图?

canvas - 如何将矩阵滤镜应用于 Canvas ?

Java:JLayeredPane 和直线或圆

java - Android在Activity类中的调用方法

java - Android - 如何获取对自定义布局中 View 的引用?

Android 无法 POST/api 响应

java - Android - 如何设置半透明布局?

paint - 在绘图应用程序中实现自由形式绘图

c - 移植 Autodesk Animator Pro 以实现跨平台

android - 使用 Glide 从 SD 卡加载图像