Tag: 核心graphics

如何在iOS中创build多行string或多行标签作为CGPath?

API是否支持这个? 如果不是,我怎么办呢? Core Text中有CTFontCreatePathForGlyph ,可以将单个字符转换为path。 我可以在循环中使用它来创build我的string作为path,但我不得不处理间距和字距以及所有其他的讨厌的东西。 我正在寻找一个stringpath,如果它是用相同的字体和大小的UILabel绘制,看起来是相同的。

coreplot iOS中x轴和y轴上的dynamic数据

如何在coreplot中的x轴/ y轴上有dynamic数据iOS:目前在这里使用演示代码:在x轴上需要一年的每一列,它本身是dynamic的,y轴的收入是多less。我该如何dynamic地? // // CPDStockPriceStore.m // CorePlotDemo // // NB: Price data obtained from Yahoo! Finance: // http://finance.yahoo.com/q/hp?s=AAPL // http://finance.yahoo.com/q/hp?s=GOOG // http://finance.yahoo.com/q/hp?s=MSFT // // Created by Steve Baranski on 5/4/12. // Copyright (c) 2012 komorka technology, llc. All rights reserved. // #import "CPDStockPriceStore.h" @interface CPDStockPriceStore () @end @implementation CPDStockPriceStore #pragma mark – Class methods + […]

量化图像,保存剩余颜色列表

有一个我可以使用的图书馆,将允许我量化iPhone上的图像? 我想量化的图像可能是8种颜色,并logging量化后剩余的每种颜色的hex或rgb值。

drawRect和CGGraphicsContext如何工作?

我在Core Graphic的一些工作,我正在寻找一些关于几个主题的额外澄清。 drawRect:我已经理解了这一点,知道它是UIView所有绘图方面的内容,但是我不清楚这个场景背后发生了什么。 当我创build一个UIView并填写drawRect,然后将另一个对象的UIView设置为该自定义视图时会发生什么? drawRect何时被调用? CGGraphicsContext:我知道这是什么目的,并理解这个概念,但是我看不出它是如何工作的。 例如: CGContextSaveGState(context); CGContextAddRect(context, rect); CGContextClip(context); CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0); CGContextRestoreGState(context); 上面的代码在我的应用程序和工作是正确的。 让我困惑的是它是如何工作的。 保存/恢复上下文的想法是有道理的,但是看起来像我从字面上保存上下文,使用完全相同的上下文来进行更改,然后再次恢复相同的上下文。 这看起来像是我正在保存一个上下文,然后写在上下文的顶部,只是为了恢复它。 如何将它保存到恢复它的位置,这与刚刚用于进行更改的环境是不同的实例? 在任何情况下,都使用相同的variables上下文的引用。 最后,我将不胜感激任何资源的实践项目或使用核心graphics的例子。 我希望提高我在这个问题上的技巧,因为我目前显然没有太多。

不可靠的UIBezierpath曲线机制,控制点和曲线点

我试图使用UIBezierPath绘制一个简单的抛物线形状。 我有一个maxPoint和一个boundingRect我正在基础的抛物线的宽度和拉伸。 这里是我绘制抛物线的函数(我在容器视图中绘制抛物线, rect将是container.bounds ): func addParabolaWithMax(maxPoint: CGPoint, inRect boundingRect: CGRect) { let path = UIBezierPath() let p1 = CGPointMake(1, CGRectGetMaxY(boundingRect)-1) let p3 = CGPointMake(CGRectGetMaxX(boundingRect)-1, CGRectGetMaxY(boundingRect)-1) path.moveToPoint(p1) path.addQuadCurveToPoint(p3, controlPoint: maxPoint) // Drawing code … } 我的问题是,我希望在maxPoint中发送的maxPoint成为抛物线本身的实际极点。 因此,例如,如果我发送(CGRectGetMidX(container.bounds), 0) ,最高点应该在最顶端的中心。 但是在使用这个特定点的函数时,结果是这样的: 那么究竟是什么path呢? 或换句话说,我怎样才能从controlPoint点到我需要的实际最大点? 我试着根据boundingRect的高度来添加和减去y值中的不同值,但是我找不到正确的组合,因为在具有不同y值的不同点中,它的行为有所不同。 似乎有一些乘法器被join,我该如何解决?

CGContextAddArc是什么导致这个边缘条件?

我通过使用iOS Core Graphics在圆的周围绘制圆点来创build视图。 计算点中心,将其存储在数组中,并在呈现到屏幕之前使用CGContextAddArc进行检索。 我对绘制周长点的方法有充分的信心,这些方法可能被[A]概括,[B]被填充一种颜色,[C]被交替地填充和勾画,[D]被填充如所示的五种颜色的序列。 但是,如果将中心点添加到arrays中,则在周长上绘制的最后一个点的属性会发生变化。 certificate这种情况的最简单的方法是绘制周长点,其中[E]是小中心点[F]大中心点,[G]是中心点; 在每种情况下,小的和大的居中的点预计将被填满绿色。 使用[H]时,两个中心点都没有被填充,也有问题。 我一直在学习Core Graphics一个月,并需要帮助来确定导致此问题的边缘条件。 我真的很欢迎有经验的核心graphics程序员的见解。 谢谢。 这里是实现代码; 首先,初始化视图设置的方法。 – (void)ViewSettings_WaitView { sectors = 80; // number of dots on perimeter limit = sectors; uberRadius = 52; // radius of large circle perimeter dotRadius = 4; // radius of dots on large circle perimeter dotsFilled = FALSE; // fill […]

iOS设置正在处理图像时的进度条值

我有一个应用程序处理使用Quartz的几个图像,我想有一个UIProgressView每个动作后更改。 (例如0.0 0.2 0.4 0.6 0.8 1.0) 问题是,当我的图像正在被处理时,UI被完全锁住了,并且只有在所有的过程完成后才会改变值(意味着它不经过子步骤就会到1.0) 你们有没有遇到过这个? 伪: for(uint i=0;i<5;i++){ // Execute some Quartz based action here, such as CGContextDrawTiledImage etc… myProgress.progress = (i+1) * 0.2; } 所以实际上,在每个动作完成后,进度条不会改变,最终只会改变一次到1.0。 将不胜感激您的反馈或经验或这一点。 谢谢 夏嘉曦。

泡沫图,散点图,使用核心阴谋的烛台图

一个我的ipad项目需要有8种graphics和图表,其中包括3个variables的气泡图,散点图,烛台图等。一个快速search给我的结果是一个核心图,这是目前ios中graphics和图表最常用的解决scheme。但是当我去那里的页面,我没有看到任何一种气泡图或散布图实施。 我的问题是.. 是否有可能在coreplot绘制3个可变气泡图,散点图或阴阳烛图?或者我需要使用核心graphics绘制整个graphics? 提前致谢

Ios绘制线条animation

我有一个观点,我有多个水平线(如horzontal拨号)。 我想animation水平运动。 它应该看起来像这样 编辑: 我怎样才能做到这一点? 据我所知,我不能使用CoreAnimation。 此外,我不能模拟不同的速度。 updatemethod如何工作? 我是否改变抽签时间或距离? 我知道我可以用scrollview来解决这个问题,但是我不想使用它。 谢谢!

如何设置剪切矩形或区域

如何设置,修改和清除iOS drawRect中的裁剪矩形,以将线条,文本,图像等的通用CG绘图裁剪为一小部分视图? 是否有可能使用更复杂的剪辑区域,这是一个矩形和圆圈的组合复合?