如何创建 android:pathData?

2023-12-29

所以我需要在我的应用程序中使用路径数据, 有没有办法将已有的图像转换为路径数据?

或者唯一的方法是使用 Photoshop 等实际计算所有像素..?


矢量图像android中的PathData是矢量图形程序的脚本。它并不是完全干净且人类可读的代码作为高优先级。下面给出了如何构建 pathData 的简要想法:

在脚本中:

M 或 m (X,Y) 代表 MoveTo:移动光标到位置,大写M为绝对,小写m为相对 moveto 命令后面跟着 X、Y 坐标。

L 或 l (X,Y) 代表 LineTo:从当前位置到 X,Y 指定的位置绘制一条线。大写表示绝对坐标,小写表示相对坐标。

H 或 h (X) 代表 Horizo​​ntalLineTo:从当前光标位置到 X 指定的位置绘制一条水平线。如果该命令后面有多个 X 坐标,则将其视为多段线。 Y 坐标保持不变。

V 或 v (Y) 代表 VerticalLineTo:从当前光标位置到 Y 指定的位置绘制一条垂直线。如果该命令后面有多个 Y 坐标,则将其视为多段线。 X 坐标保持不变。

Z 或 z ClosePath:从光标的当前位置到路径的起​​始位置绘制一条线。没有任何参数。

C(绝对) c(相对)代表曲线到:使用 (x1,y1) 作为曲线开头的控制点,使用 (x2,y2) 作为从当前点到 (x,y) 的三次贝塞尔曲线曲线末端的控制点。 C(大写)表示后面跟随的是绝对坐标; c(小写)表示后面跟随的是相对坐标。可以指定多组坐标来绘制多边形贝塞尔曲线。在命令结束时,新的当前点成为多边形贝塞尔曲线中使用的最终 (x,y) 坐标对。如何使用 C 的图像 https://i.stack.imgur.com/pp9kY.png

S(绝对) s(相对) 速记/平滑曲线到:绘制从当前点到 (x,y) 的三次贝塞尔曲线。假设第一个控制点是第二个控制点相对于当前点在前一个命令上的反映。 (如果没有前一个命令或者前一个命令不是 C、c、S 或 s,则假定第一个控制点与当前点重合。)(x2,y2) 是第二个控制点(即曲线末端的控制点)。 S(大写)表示后面跟随的是绝对坐标; s(小写)表示后面跟着相对坐标。可以指定多组坐标来绘制多边形贝塞尔曲线。在命令结束时,新的当前点成为多边形贝塞尔曲线中使用的最终 (x,y) 坐标对。

有关更多基本想法,请参阅此链接https://medium.com/@ali.muzaffar/understanding-vectordrawable-pathdata-commands-in-android-d56a6054610e#.g4gbz1r5p https://medium.com/@ali.muzaffar/understanding-vectordrawable-pathdata-commands-in-android-d56a6054610e#.g4gbz1r5p

这里有一个很好的参考。link https://www.w3.org/TR/SVG/paths.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建 android:pathData? 的相关文章

  • 在 Android 中从麦克风录制 wav 文件 - 问题

    我需要能够使用 Android 中的麦克风创建 WAV 文件 目前 我遇到了很多麻烦 到目前为止 这就是我的情况 我正在使用 micDroid 项目代码的一部分来记录 read thread int sampleRate 44100 int
  • 使用 NEON 内在函数除以浮点数

    我当时正在处理四个像素的图像 这是在armv7对于 Android 应用程序 我想分一个float32x4 t向量由另一个向量组成 但其中的数字与大约不同0 7 to 3 85 在我看来 除法的唯一方法是使用右移 但这是针对一个数字2 n
  • 视图无法解析为类型

    这里的视图似乎有什么问题 我该如何解决它 错误 视图无法解析为类型 public void onItemClick AdapterView
  • 如何使 FirebaseAuth.AuthStateListener 在 Kotlin 中工作?

    class LoginActivity AppCompatActivity private val firebaseAuth FirebaseAuth getInstance private val firebaseAuthListener
  • Android 从 C++ 端播放原始音频

    我需要能够在 Android 系统的 C 端以自定义文件格式传输音频 我正在致力于移植自定义媒体播放器 并且需要能够打开自定义文件并从中传输音频 这很重要 因为我认为从性能角度来看将整个播放器移植到 JAVA 是不可行的 并且通过 JNI
  • android ndk 多点触控?

    我正在编写一个仅使用本机代码的应用程序 那么ndk中是否可以获取多点触控事件呢 我感觉我已经搜索了整个网络 但什么也没找到 有谁知道如何做到这一点 是的 您可以检查名为native activity查看如何获取输入事件 寻找engine h
  • 片段内容下方是否存在持久性 BottomSheet?

    Using a 持久底表 https material google com components bottom sheets html bottom sheets persistent bottom sheets 在一个协调器布局 htt
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • Android中如何使用JNI获取设备ID?

    我想从 c 获取 IMEIJNI 我使用下面的代码 但是遇到了未能获取的错误cls 它总是返回NULL 我检查了环境和上下文 它们都没有问题 为什么我不能得到Context班级 我在网上搜索了一下 有人说我们应该使用java lang Ob
  • TextView 宽度匹配drawableTop 宽度

    有什么办法可以使TextView width匹配复合可绘制宽度 XML 例如对于 xml 代码
  • 如何将设备屏幕位置转换为发送事件位置?

    我知道关于input tap x yshell 命令 但是 我想了解如何 使用执行单击sendevent命令 我能够通过以下命令实现它 sendevent dev input event5 3 53 X sendevent dev inpu
  • Android:canvas.drawBitmap() 方法无法正常工作

    我已经发布了两个与此相关的问题 请参考此自定义饼图 1 https stackoverflow com questions 28343600 customize pie chart in quarter shape at the botto
  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • react-native android fontFamily 不生效

    问题一 我在index android js的欢迎样式中添加了fontFamily 但没有效果 fontFamily 真的可以在 Android 上使用吗 欢迎 字体大小 20 fontFamily roboto thin 文本对齐 居中
  • Jetpack Compose 中复选框中的透明复选标记

    在我的 Compose 应用程序中 我需要创建一个圆形复选框 我已经通过下面的代码实现了这一点 Composable fun CircleCheckBox isChecked Boolean modifier Modifier Modifi
  • Android 4.4 Kitkat 自定义视图操作栏未填充整个宽度

    我试图拥有一个带有自定义视图的简单操作栏 但我得到以下结果 为了演示 我创建了一个带有黄色背景颜色的简单 xml 它应该占据整个宽度 这是 XML
  • Android Studio代理设置构建错误

    每当我尝试在 Android Studio 中构建应用程序时 都会收到以下错误 Error 169 254 16 169 254 16 Will ignore proxy settings for these hosts 我收到错误 5 次
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7

随机推荐

  • 前置输入标签 (simple_form + bootstrap-sass) 偏离几个像素

    我想使用此处显示的文本输入字段 http simple form b ootstrap plataformatec com br articles new http simple form bootstrap plataformatec c
  • AngularJS - 重定向到登录页面并保留会话 ID

    我正在寻找一种方法来完成这两件事 首先 如果没有找到 SessionID 我想将用户重定向到登录页面 其次 我想听听您对仅将会话 ID 保留在内存中 没有 cookie 的意见 我针对重定向提出的解决方案是 1 创建一个名为 OAuth 的
  • 代码优先导致所需的关系是可选的?

    public class Client public Int32 ClientID get set public virtual ICollection
  • 将两个不同的 Get-ChildItem 调用的结果合并到单个变量中以对它们进行相同的处理

    我正在尝试编写一个 PowerShell 脚本来从多个目录构建文件列表 将所有目录添加到主列表后 我想对所有文件进行相同的处理 这就是我所拥有的 items New Object Collections Generic List IO Fi
  • 使用 CSS 取消选中复选框

    对于那些不熟悉的人来说 复选框的选中属性将接受任何输入作为选中该框的标志 事实上 它不需要任何文字 所以所有这些都会选中该框
  • 如何在 XAML windows 8 的行和列中显示数据

    在 Metro 风格的 Windows 8 应用程序中 我如何使用类似于此 https dl dropbox com u 59251888 img png image 的 xaml 显示数据 是否可以使用ListBox ListView G
  • HTMLPanel 上的 GWT UiHandler

    我正在编写一个带有以下标记的小部件
  • 更新 django 数据库以反映现有模型的更改

    我已经定义了一个模型并通过以下方式创建了其关联的数据库manager py syncdb 现在我已经向模型添加了一些字段 我尝试了syncdb再次执行 但没有输出出现 在尝试从我的模板访问这些新字段时 我收到 No Such Column
  • 如何通过 python 子进程与 mac 上的应用程序交互?

    我知道已经发布了类似的问题 但我见过的方法似乎都不起作用 我想在 mac 上使用 python 子进程启动应用程序 xfoil 并使用脚本向 xfoil 发送一堆命令 xfoil 是一个在终端窗口中运行的应用程序 您可以通过文本命令与其交互
  • C# 方法默认是密封的还是虚拟的?

    我知道的定义virtual and sealed关键字 但是如果您不将它们与方法一起使用 那么默认情况下可以覆盖该方法吗 我来自vb net背景 它在 vb net 中是这样的 来自 MSDN 如果未指定 Overridable 或 Not
  • 台式电脑上的 OpenGL|ES

    我正在开发一个 OpenGL 项目 我想将其移植到支持 OpenGL ES 的嵌入式系统 由于 OpenGL ES 是 OpenGL 的子集 在嵌入式系统上编译我的 OpenGL 应用程序有多难 假设我的OpenGL代码在OpenGL ES
  • 开发模式 - 其他用户制作的模板电子表格的副本

    当对主脚本 由另一个帐户拥有 进行更改时 包含处于开发模式的库的电子表格副本是否会立即更新 我创建了一个脚本 gt gt 保存了一个版本 gt gt 在电子表格中添加了一个库引用 在开发模式下 gt gt 制作了该ss的多个副本 在用于创建
  • 使用 php 获取窗口大小 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这段代码有什么问题 window width window height 任何想法 您的代码没有任何问题 但是您无法获取 PHP 变量中的
  • 将 mylyn Gitlab 连接器连接到 Eclipse 时出错

    我正在尝试为 Eclipse Oxygen v4 7 1a 配置 Mylyn Gitlab 连接器 但是当我尝试添加新任务时 它会抛出异常 并且不允许我继续创建新任务 正确输入我的数据和 gitlab 存储库的 url 地址 甚至使用多个
  • 使用sql查询总结时间列

    我有一张表如下 repID ClockIn ClockOut TotalHours 109145 7 50 50 AM 3 37 16 PM 7 46 26 109145 7 52 41 AM 3 44 51 PM 7 52 10 1091
  • C# 禁用 USB ReadPipe 的垃圾收集

    我正在尝试使用 FTDI 的 D3XX NET 从 USB 端口收集数据 收集数据 然后发送到快速傅立叶变换以绘制频谱 即使您丢失了一些数据 这也可以正常工作 你说不出来 但是 如果您随后想要将此数据发送到音频输出组件 您会发现数据丢失 这
  • 如何根据传入远程通知负载中定义的类别添加不同的操作?斯威夫特更新

    我正在我的两个相关应用程序中实现推送通知 到目前为止我能够发送通知 设备到设备以及主题 收到通知后 通知会显示随有效负载发送的 url 处的图像 我的目标是向主题通知添加操作 并且每个主题的操作都不同 Ej 行动为 shop promoti
  • 在 C# 中添加十六进制值

    在我的系统中 我需要添加 2 个十六进制值 那么 如何在 C 中添加十六进制值 我还想知道十六进制值的最大长度以及哪个实例保存这些值 C 支持十六进制文字 http msdn microsoft com en us library aa66
  • Haskell 中的惰性笛卡尔积

    我想在 Haskell 中生成一个相当大但有限的笛卡尔积 然后我需要对其进行迭代 想想平均场模型的配分函数 自然而然的事情使用sequence 像这样 l sequence replicate n 0 1 2 不幸的是 对于大n 这不适合内
  • 如何创建 android:pathData?

    所以我需要在我的应用程序中使用路径数据 有没有办法将已有的图像转换为路径数据 或者唯一的方法是使用 Photoshop 等实际计算所有像素 矢量图像android中的PathData是矢量图形程序的脚本 它并不是完全干净且人类可读的代码作为