【问题标题】:Drawing Lines Between Points In UIImage在 UIImage 中的点之间绘制线
【发布时间】:2011-09-07 21:27:55
【问题描述】:

我有一个 XML 文件,例如:

<PointCollection>
<Point x="2453.553575623344" y="1011.755461592671"/>
<Point x="2260.662874593102" y="1102.865398167724"/>
<Point x="2259.547233128629" y="1276.871740662439"/>
<Point x="2293.490150676198" y="1444.799859055673"/>
<Point x="2375.667740528206" y="1696.692036645525"/>
<Point x="2480.350615792477" y="1865.216215309236"/>
<Point x="2757.972180274506" y="1877.125440451022"/>
<Point x="2939.521225544476" y="1715.15279036209"/>
<Point x="3052.739622134972" y="1443.013389711065"/>
<Point x="2997.359072452096" y="1135.740662438337"/>
<Point x="2774.050404375987" y="1030.338971106413"/>
</PointCollection>

我需要在这些点之间画线,并在 UIIMage 上创建一个形状来注释该图像上的特定区域。例如,我要在 Point x="2453.553575623344" y="1011.755461592671" 和 Point x 之间画一条线="2260.662874593102" y="1102.865398167724" 根据图像的分辨率具有 x 和 y 坐标。我怎样才能做到这一点? 谢谢。

【问题讨论】:

  • 你有什么开始的吗?这不是一个小项目,我们不会为您做。
  • drawRect看图开始
  • @Jesse Naugher,我已经在这个项目的中间,我刚刚开始画画,只是征求意见。对于未来的问题,我会找到一个有用的教程:techotopia.com/index.php/…

标签: iphone uiscrollview uiimageview drawing uiimage


【解决方案1】:

简而言之,您应该:

  • 确定您希望在图像中显示多少模型空间。
  • 从绘图上下文中获取当前的CGContextRef(iOS 上为UIGraphicsGetCurrentContext())。
  • 通过操作当前变换矩阵 (CTM) 平移和缩放坐标系,以便您可以根据模型坐标而不是位图坐标进行绘制。更改绘图的坐标系可以让系统进行所有数学运算,以使线条适合图像的实际位。
  • 然后,重复:
    • 使用CGPath/CGMutablePath 来描述形状。
    • 设置描边/填充颜色(或任何其他设置)。
    • 适当地描边/填充路径。

请注意,如果您是在现有图像上绘制而不是创建全新的图像,您可能希望在转换 CTM 之前在空白画布上绘制当前图像。

在阅读有关使用 CoreGraphics 绘图的内容之前,您可能无法理解其中的任何内容。查看Quartz 2D Programming Guide,了解如何使用 CoreGraphics 绘制 2D 图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-19
    • 2019-08-15
    • 2020-02-11
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 2014-12-23
    相关资源
    最近更新 更多