Quartz2D二维绘图引擎

Quartz2D二维绘图引擎

这个二维绘图引擎的功能非常强大

一般苹果公司xcode 提供给我们的一些UI控件不能满足我们的需求

所以我们会自定义控件

xcode 提供的所有控件都是由这个绘图引擎画出来的

我们可以自定义一些控件,完成我们想要完成的一些特定的功能

从而解决一些系统自定义控件实现不了的功能 

1.基本图形绘制

* 线段(线宽、线段样式)
* 矩形(空心、实心、颜色)
* 三角形、梯形等形状
* 椭圆\圆
* 圆弧
* 文字绘制
* 图片绘制(pattern)

* 图形上下文栈

下面是简单的 三角形和矩形的绘制

图形的绘制是用纯C写出来的,没有面向对象的思想

所以大家理解起来一定要区分!

//
//  MyDraw.m
//  画图


@implementation MyDraw

//Quartz2D  是一个二维绘图引擎
//自定义UI控件
//裁剪图片

- (void)drawRect:(CGRect)rect {
    
    draw4Rect();
    
}

void draw4Rect()
{
    //获得图形上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    //画图形
    CGContextAddRect(ctx, CGRectMake(10, 10, 100, 100));
    
    //绘制图形
    //CGContextStrokePath(ctx);
    
    //实的图形
    CGContextFillPath(ctx);
}
void drawTriangle()
{

    // Drawing code
    //1.获得图形上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    
    
    //2.拼接图形
    CGContextMoveToPoint(ctx, 10, 10);
    
    //添加一条线段到
    CGContextAddLineToPoint(ctx, 100, 100);
    
    CGContextAddLineToPoint(ctx, 150, 40);
    
    //CGContextAddLineToPoint(ctx, 10, 10);
    
    //连接起点和终点
    CGContextClosePath(ctx);
    //CGContextMoveToPoint(ctx, 20, 20);
    
    //3.渲染显示到view 上面
    //以空心的形式画出来
    CGContextStrokePath(ctx);
}




@end


《Asuo二维绘图控件v2.0》=============================================================================软件名称:《Asuo二维绘图控件》软件版本: V2.0软件作者:asuo作者邮箱:asuo@263.net软件网站:http://www.asuo.com下载地址:http://www.asuo.com/down/as2d.rar 下载软件语言:vc++授权形式:(ActiveX控件)应用平台:win9x/me/2000/xp界面预览:http://www.asuo.com/as2d_active.htm软件简介:平面图形控件,可以创建和编辑矢量图形以及便捷的显示操作。 文字和尺寸标注;元素属性设置;长度、角度、面积的查询; DXF输出;提供交换文件和二次开发接口。适用于 CAD/CAM/GIS/GPS等相关图形软件开发。软件价格:试用版本免费相关文档:--发布日期:2003.07.29============================================================================== 1.库文件清单: MFC42.DLL MSVCIRT.DLL MSVCRT.DLL ASBASE.DLL ASCSTR.DLL ASDRAW.DLL ASINTR.DLL ASKERN.DLL ASLAW.DLL ASOCX.OCX ASSPLINE.DLL2.控件注册: 控件注册,命令为: regsvr32 Asocx.ocx 解除注册: regsvr32 Asocx.ocx /u3.功能说明:选择:单击鼠标左键选择元素; 框选:在选择状态下,按住鼠标托动进入框选状态; 选择移动元素:在选择状态下,如果当前捕捉到元素,按住鼠标托动元素; 重画(REDRAW):刷新绘图区域; 显示平移(PAN):移动视点,调整看图位置; 框选放大(ZOOM):选择一个放大区域,需要点两点; 显示放大缩小:显示放大为1.2倍,显示缩小为0.8倍; 创建点:选点创建; 创建直线:两点创建直线; 圆心+圆上一点:需要两点创建; 两点圆:需要两点,此两点为圆上点且它们之间距离为直径; 3点圆:需三点,创建过三点的圆,三点共线时创建失败; 圆弧:圆心+起点+终点,需要三点,第一点为圆心,第二点为弧的起点,第三点为弧的终点,弧以逆时针方向; 半圆弧:类似两点圆,逆时针方向; 三点弧:需要三点,创建出过此三点的圆弧;逆时针方向; 椭圆:先给出长轴,然后给椭圆上一点; 样条:依次给出样条线的控制点,双击鼠标左键结束创建样条,样条线必须有三个以上的控制点; 矩形:给出矩形对角两点创建矩形; 删除:删除当前选择到的元素; 复制:复制当前选择到的元素; ...4.开发帮助: 如果用户需要进行特殊的功能扩充,请参考《用户开发手册 index.htm》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值