ios-UIGraphicsBeginImageContext绘制

问题描述

UIGraphicsBeginImageContext绘制

在视图中画线。而且最好不用drawRect,需要保持当前画线的状态,下面是我的代码,没实现:

- (void)drawPathWithPoints:(int)xAxis andYaxis:(int)yAxis
{
    CGSize screenSize = drawingImgView.frame.size;
    UIGraphicsBeginImageContext(drawingImgView.frame.size);
    CGContextRef currentContext = UIGraphicsGetCurrentContext();
     [drawingImgView.image drawInRect:CGRectMake(0, 0, screenSize.width, screenSize.height)];
    CGContextSetLineCap(currentContext, kCGLineCapRound);
    CGContextSetLineWidth(currentContext, 9.0);
    CGContextSetRGBStrokeColor(currentContext, 0, 0, 1, 1);
    CGContextBeginPath(currentContext);
    CGMutablePathRef pointPath = CGPathCreateMutable();
    CGContextMoveToPoint(currentContext,xAxis,yAxis);
    CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    pathAnimation.duration = 3.0;
    pathAnimation.delegate = self;
    pathAnimation.calculationMode = kCAAnimationPaced;
    pathAnimation.fillMode = kCAFillModeForwards;
    pathAnimation.removedOnCompletion = NO;
    CGPathMoveToPoint(pointPath, NULL, xAxis, yAxis);
    CGContextAddLineToPoint(currentContext, xAxis, yAxis);
    CGPathAddLineToPoint(pointPath, NULL, xAxis, yAxis);
    pathAnimation.path = pointPath;
    myLayer = [[CAShapeLayer alloc] init];
    myLayer.strokeColor = [[UIColor greenColor] CGColor];
    myLayer.lineWidth = 11.0;
    myLayer.fillColor = nil;
    myLayer.lineJoin = kCALineJoinBevel;
    myLayer.path = pointPath;
    [drawingImgView.layer addSublayer:myLayer];
    CGPathRelease(pointPath);
}
时间: 2024-08-04 13:58:08

ios-UIGraphicsBeginImageContext绘制的相关文章

教你在iOS上绘制自然的签名

这里有一篇很棒的文章写如何在Android上获取流畅的签名:Smoother Signatures,但是我没有找到一篇是写在iOS上如何实现.那么,究竟怎么做才能在iOS设备上获取用户的签名呢? 虽然我没有找到任何关于获取签名的文章,但是在App store上已经有了实现得很好的app. Paper by 53 是一个画画的iPad应用程序,它拥有漂亮并且灵敏的画笔,这也是我所要追求的用户体验. 代码可以从这里得到:SignatureDemo 连点成线 最简单得办法是,依次获取触摸点并且用直线把

iOS绘制专属于程序猿的浪漫爱心_IOS

近来无事,想想IT该怎样才能彰显浪漫情怀,不能口头上说说而已,最关键的是要有可视化的东西展示出来才行- 废话不多说,直接上Demo HeartView.h // // HeartView.h // DrawHeart // // Created by WQL on 16/3/1. // Copyright 2016年 WQL. All rights reserved. // #import <UIKit/UIKit.h> @interface HeartView : UIView /** *

iOS开发系列--打造自己的“美图秀秀”

概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz 2D绘制2D图形和Core Image中强大的滤镜功能. Quartz 2D 基本图形绘制 视图刷新 其他图形上下文 Core Image Quartz 2D 在iOS中常用的绘图框架就是Quartz 2D,Quartz 2D是Core Graphics框架的一部分,是一个强大的二维图像绘制引擎.Quartz 2D在UI

ios-IOS中绘制一个思考图案

问题描述 IOS中绘制一个思考图案 在IOS中要绘制一个思考泡泡填充图片.用了很多方法都没实现,请高手帮忙. 图片如下: 谢谢 解决方案 只要能知道各个点的位置及控制点.绘制弧度应该能够画出来. void CGContextAddArc ( CGContextRef c, CGFloat x, //圆心的x坐标 CGFloat y, //圆心的x坐标 CGFloat radius, //圆的半径 CGFloat startAngle, //开始弧度 CGFloat endAngle, //结束弧

iOS实现图片六边形阴影效果_IOS

先来看看效果图 这个效果写起来挺简单,主要运用下面几个知识点      layer 的mask : 图层蒙版      layer 的shadowPath : 绘制自定义形状阴影      UIBezierPath :绘制六边形路线 说完知识点下面上代码了 绘制六边形的路线 -(CGPathRef)getCGPath:(CGFloat)viewWidth{ UIBezierPath * path = [UIBezierPath bezierPath]; path.lineWidth = 2; [

专访 YYKit 作者 Ibireme: 开源大牛是怎样炼成的

专访 YYKit 作者 Ibireme: 开源大牛是怎样炼成的 Nov 26th, 2015 版权说明 本文为InfoQ中文站特供稿件,首发地址为:文章链接.如需转载,请与InfoQ中文站联系. 前言 第一次听到 ibireme 这个名字,是看到他在 微博上分享 了 YYText 开源库.当时我第一眼见到 YYText 的功能示意 GIF 图时(下图所示),就被它丰富的功能吸引了.YYText 应该是我见到过的功能最强大的基于 CoreText 的排版框架了. 令人惊讶的是,YYText 虽然代

IOS详解TableView:性能优化及手工绘制UITableViewCell

提高表视图的性能 UITableView作为应用中最常用的视图,它的性能优化问题几乎是经常提及 .下面对在非网络访问情况下的表视图性能优化进行了主要的几点说明: 1.自定义类或XIB文件 时 在系统提供的样式不能满足我们的时候,我们经常会创建自定义类或者XIB文件来自定义单元 格样式. 在之前,我们通常通过loadNib的方式或者在代理方法中继续使用老的方法来设置重用 ,管理缓存池.在IOS6以后,我们可以通过注册的方式在注册单元格甚至表头视图,让系统来更高效的 进行管理. 2.Interfac

ios开发-iOS开发时,如何在图片上旋转一个角度绘制文字,例如在点(50,80)处,旋转50°画文字

问题描述 iOS开发时,如何在图片上旋转一个角度绘制文字,例如在点(50,80)处,旋转50°画文字 要求不用到 label 现在需要在apple mapkit 中自定义的annotation图片上绘制编号,此图片是个箭头, 可旋转方向.为了让箭头旋转时其上的文字始终竖直.现需要在image上画出旋转一定角度的文字,或者用上下文画一个旋转一定角度的图片也可以,求大神指点 解决方案 NSMutableParagraphStyle *paragraphStyle = [[NSParagraphSty

iOS开发UI篇—Quartz2D使用(绘制基本图形)

一.简单说明 图形上下文(Graphics Context):是一个CGContextRef类型的数据 图形上下文的作用:保存绘图信息.绘图状态 决定绘制的输出目标(绘制到什么地方去?)(输出目标可以是PDF文件.Bitmap或者显示器的窗口上) 相同的一套绘图序列,指定不同的Graphics Context,就可将相同的图像绘制到不同的目标上. Quartz2D提供了以下几种类型的Graphics Context: Bitmap Graphics Context PDF Graphics Co