- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在玩一个在 Canvas 上绘制和追踪用户手指的应用程序。看这个picture ,绿色矩形是通过跟踪用户的手指运动绘制的。我从 android SDK 示例中提取了旧 FingerPaint 应用程序的大部分代码。它的要点是在 Canvas 上绘制路径:
canvas.drawPath (path, paint)
我的第一个挑战是在屏幕变化时正确重绘路径。例如,当手机从垂直旋转到水平时,图像会调整大小,我必须沿着正确的坐标重新绘制路径。我能够使用 transform 正确地做到这一点.我使用 path.transform(matrix) 来转换路径的坐标。
我现在的下一个挑战是正确缩放线条的粗细。当我绘制路径时,线的粗细是用 setStrokeWidth 设置的。例如,我将厚度设置为 12:
paint.setStrokeWidth(12);
我不知道如何在屏幕变化时正确缩放线条的粗细。没有人知道该怎么做吗?
一个建议是先将 Canvas 和路径保存为位图,然后在新的屏幕尺寸上重新绘制位图。但我不想这样做,因为我想支持撤消/重做操作,用户可以在其中撤消/重做在 Canvas 上追踪的路径。
最佳答案
你可以这样使用:
float screenWidthPixel = this.getResources().getDisplayMetrics().widthPixels;
float screenHeightPixel = this.getResources().getDisplayMetrics().heightPixels;
float STROKE_WIDTH = screenWidthPixel * 0.0035f;
float Y_POSITION = screenHeightPixel * 0.01f;
paint.setStrokeWidth(STROKE_WIDTH);
关于android - 屏幕尺寸变化时如何缩放线条的粗细或笔划宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45652395/
所以我试图通过使用套接字创建一个类似同步绘画程序的东西。我有一个服务器端..和一个客户端,我试图将inkCollection从服务器发送到客户端。这适用于简单的文本,但我似乎无法发送inkCollec
我正在胡思乱想,无法控制路径宽度。 看到倒数第二行,真是莫名其妙: var paper = Raphael(20, 20, 320, 320); function arc(center, radi
我想提一下,这篇文章类似于 Continuous drawing in CGContext with drawRect但它没有任何代码片段解决方案,所以再次询问。 我正在学习 iOS 开发应用程序。我
我正在创建很多元素,这些元素基本上基于模板,但具有不同的大小和颜色 - 圆圈、方框、星号、菱形、图表中经常使用的元素。我发现我可以使用 SVG Symbol 来定义我的模板,如下例所示: http:/
我正在使用 Chart.js 创建圆环图,但遇到了圆环上的笔划被 Canvas 对象 chop 的问题。 Canvas 上的填充/边距并没有为我解决问题。知道发生了什么事吗? JSFiddle her
我试过设置描边颜色。它可以使用 linearGradient 但不能使用 solidColor :
我目前正在调整文件输入以使用预览显示其内容 标签。 ..... 使用一些 CSS,它在 Chrome 上正确呈现,但我在 Firefox 上(并且仅在 Firefox 上)在正
我有一组三 Angular 坐标。每三个点一个 vector 。在下图中,这个三 Angular 形是 thin yellow 三 Angular 形。我需要向这个向内和向外突出的三 Angular
我是一名优秀的程序员,十分优秀!