Tag: 核心graphics

如何在iOS应用程序中编辑PDF文件?

在我的iPhone / iPad应用程序中,我以PDF的forms显示一个人的医疗报告。 我已经将这些报告保存在文档目录中,并从那里读取它们。 我希望用户能够在这些PDF上添加或编辑注释,以及能够突出显示PDF中的某些部分。 编辑完成后,应用程序应该能够将PDF保存回文档目录。 这是可能的iOS应用程序内? 如果是这样,怎么样? 这是Core Graphics的任务吗?

圆angularUIView的顶部和添加边框

我在下面的代码中做了四舍五入的分类。 我也想画一个边框。 但边angular在angular落的圆angular部分没有显示。 这是代码 – (void) roundTopCorners:(CGFloat) radius { self.layer.masksToBounds = YES; CGRect bounds = self.bounds; UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight) cornerRadii:CGSizeMake(radius, radius)]; CAShapeLayer *maskLayer = [CAShapeLayer layer]; maskLayer.frame = bounds; maskLayer.path = maskPath.CGPath; maskLayer.strokeColor = [UIColor redColor].CGColor; self.layer.mask = maskLayer; }

如何从当前的graphics上下文创build一个UIImage?

我想从当前的graphics上下文创build一个UIImage对象。 更具体地说,我的用例是一个用户可以画线的视图。 他们可能会逐渐绘制。 完成后,我想创build一个UIImage来表示他们的绘图。 下面是drawRect:现在看起来对我来说: – (void)drawRect:(CGRect)rect { CGContextRef c = UIGraphicsGetCurrentContext(); CGContextSaveGState(c); CGContextSetStrokeColorWithColor(c, [UIColor blackColor].CGColor); CGContextSetLineWidth(c,1.5f); for(CFIndex i = 0; i < CFArrayGetCount(_pathArray); i++) { CGPathRef path = CFArrayGetValueAtIndex(_pathArray, i); CGContextAddPath(c, path); } CGContextStrokePath(c); CGContextRestoreGState(c); } …其中_pathArray是CFArrayReftypes的,并且每次调用touchesEnded:时都会被填充。 另外请注意,drawRect:可能会在用户绘制时被调用多次。 当用户完成后,我想创build一个代表graphics上下文的UIImage对象。 任何build议如何做到这一点?

获取在iOS UIFont中追踪字符的path

假设我在我的iOS应用程序中使用了自定义字体“Foo”。 我已经将它添加到我的项目,plist等等,我能够渲染UILabel s等。 现在,如果我想找出一系列可以“追踪”字母“P”的点,那么我将如何得到这个点的序列呢? 例如,假设我想用CGPath像绘图仪那样缓慢地绘制字母“P”… 我只需要一个数组中的CGPoints序列,如果绘制为一个path将绘制一个“P”。 我意识到,对于一些像“T”这样的字母来说,这可能是没有意义的,因为笔必须被提起才能越过“T”。 所以也许我需要一个CGPath序列… 有关如何完成此任何提示? 谢谢!

用UIBezierPath绘制graphics曲线

我在我的应用程序中绘制图表。 我的问题是,我想绘制线连接顶点作为曲线。 目前我正在使用UIBezierPath的函数addLineToPoint:绘制它们。 我想绘制他们作为曲线。 我很清楚, UIBezierPath有两个function来支持这个function。 三次曲线: addCurveToPoint:controlPoint1:controlPoint2: : addCurveToPoint:controlPoint1:controlPoint2: : addCurveToPoint:controlPoint1:controlPoint2:二次曲线: addQuadCurveToPoint:controlPoint: 但问题是我没有控制点。 我所拥有的是两个终点。 我也没有find确定控制点的方法/公式。 有人能帮我一下吗? 我会感激,如果有人可以build议一些替代…

撤消/重做在iOS中进行绘图

我正在做一个绘图应用程序,我想要做撤销/重做,为此我保存CGPath的触摸结束了NSMutableArray,但我不理解如何渲染CGPaths点击撤消button EDIT1: 当我使用BezierPaths的时候,我首先决定用一个简单的方法去简单地去处理这个path,没有CGPath, 编辑2:因为我的撤消发生在段(我,部分而不是整个path被删除),我决定创build一个数组的数组,所以我做了相应的变化,现在我将在CGlayer中绘制,采取CGPath 所以这里“parentUndoArray”是数组的数组。 所以我这样做了 我有一个叫做Draw​​ingPath的类来完成绘图 //DrawingPath.h @interface DrawingPath : NSObject @property (strong, nonatomic) NSString *pathWidth; @property (strong,nonatomic) UIColor *pathColor; @property (strong,nonatomic) UIBezierPath *path; – (void)draw; @end //DrawingPath.m #import "DrawingPath.h" @implementation DrawingPath @synthesize pathWidth = _pathWidth; @synthesize pathColor = _pathColor; @synthesize path = _path; – (id)init { if (!(self = [super init] )) return […]

橡皮擦不适用于iOS绘图

我正在绘制一个项目,我有一个橡皮擦选项。 下面给出的代码是当我启动我的应用程序,并绘制一些线和继续使用橡皮擦。 它工作正常,我得到橡皮擦效果。 现在第二个场景是我画了10条线,然后点击“撤消button”并撤销整个事情,然后我重做整个事情,现在当我点击“橡皮擦button”,并试图抹去一些部分,而是将清除整个绘图。 这是我想弄明白,但我不明白我哪里错了,所以朋友,请帮助我。 以下是我的代码。 – (void)drawRect:(CGRect)rect { case DRAW: { [m_curImage drawAtPoint:CGPointMake(0, 0)]; CGPoint mid1 = midPoint(m_previousPoint1, m_previousPoint2); CGPoint mid2 = midPoint(m_currentPoint, m_previousPoint1); CGContextRef context = UIGraphicsGetCurrentContext(); [self.layer renderInContext:context]; CGContextMoveToPoint(context, mid1.x, mid1.y); CGContextAddQuadCurveToPoint(context, m_previousPoint1.x, m_previousPoint1.y, mid2.x, mid2.y); CGContextSetLineCap(context, kCGLineCapRound); CGContextSetLineWidth(context, self.lineWidth); CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor); CGContextSetAlpha(context, self.lineAlpha); CGContextSetAllowsAntialiasing(context, YES); CGContextStrokePath(context); // [super drawRect:rect]; } break; […]

从UIWebView创buildPDF文件

-(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename { // Creates a mutable data object for updating with binary data, like a byte array UIWebView *webView = (UIWebView*)aView; NSString *heightStr = [webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"]; int height = [heightStr intValue]; // Get the number of pages needed to print. 9 * 72 = 648 int pages = ceil(height / 648.0); NSMutableData *pdfData = […]

用animation剪出形状

我想要做类似于以下的事情: 如何掩盖IOS SDK中的图像? 我想用半透明的黑色覆盖整个屏幕。 然后,我想从半透明的黑色遮盖物中划出一个圆圈,以便清楚地看清楚。 我这样做是为了突出显示部分教程的屏幕。 然后,我想要将切出的圆圈设置为屏幕的其他部分。 我也希望能够水平和垂直拉伸切出的圆,就像使用通用button背景图像一样。

如何使用OpenGL ES将变形应用于UIImage?

有什么办法像在iPhone应用程序PhotoTwist中一样使用OpenGL ES在UIImage上创build像凹痕,捏,扭曲,压扁等效果 ? 有没有这样的参考或指导方针? 我不想要代码,只是参考如何做到这一点。