我想用Quartz2D绘制一个简单的标尺,仅供参考。
由于我不知道要在iPhone上以编程方式进行矢量图形处理,因此也许有人可以为我提供入门的良好教程?
最佳答案
正如Plamen指出的,Quartz 2D documentation值得一读。此外,该课程为我的iPhone开发课程提供了are available online(VoodooPad格式)的注释,其中我将整个课程用于Quartz 2D绘图。我创建的QuartzExamples示例应用程序显示了一些更高级的绘图概念,但是Apple的QuartzDemo示例是开始了解如何进行简单绘图的一个更好的位置。
作为为标尺绘制刻度的示例,以下是我用来执行类似操作的代码:
NSInteger minorTickCounter = majorTickInterval;
NSInteger totalNumberOfTicks = totalTravelRangeInMicrons / minorTickSpacingInMicrons;
CGFloat minorTickSpacingInPixels = currentHeight / (CGFloat)totalNumberOfTicks;
CGContextSetStrokeColorWithColor(context, [MyView blackColor]);
for (NSInteger currentTickNumber = 0; currentTickNumber < totalNumberOfTicks; currentTickNumber++)
{
CGContextMoveToPoint(context, leftEdgeForTicks + 0.5, round(currentTickNumber * minorTickSpacingInPixels) + 0.5);
minorTickCounter++;
if (minorTickCounter >= majorTickInterval)
{
CGContextAddLineToPoint(context, round(leftEdgeForTicks + majorTickLength) + 0.5, round(currentTickNumber * minorTickSpacingInPixels) + 0.5);
minorTickCounter = 0;
}
else
{
CGContextAddLineToPoint(context, round(leftEdgeForTicks + minorTickLength) + 0.5, round(currentTickNumber * minorTickSpacingInPixels) + 0.5);
}
}
CGContextStrokePath(context);
其中
currentHeight
是要覆盖的区域的高度,而[MyView blackColor]
仅返回表示黑色的CGColorRef。关于iphone - 如何用Quartz2D绘制可动画制作的标尺?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2532805/