- 浏览: 186816 次
- 性别:
- 来自: 无锡
文章分类
最新评论
-
luoqianjiang:
很好,谢谢
一些iOS高效开源类库 -
sgjsdf5944:
没看明白。。。。。。。。。。
UIWebView打开doc、pdf文件 -
593864589:
mac 上不支持呢?
cocos2d 粒子设计器 -
寻墨小楼:
多谢了...正在弄这个。
mysql for mac 安装和基本操作 -
yueliancao:
楼主如何联系啊 我的MAC系统 #LoadModule php ...
mac OS x中配置apache + php + mysql
1、绘图总结:
绘图前设置:
- CGContextSetRGBFillColor/CGContextSetFillColorWithColor //填充色
- CGContextSetRGBStrokeColor/CGContextSetStrokeColorWithColor //笔颜色
- CGContextSetLineWidth //线宽度
绘图后设置:
注: 画完图后,必须 先用CGContextStrokePath来描线,即形状,后用CGContextFillPath来填充形状内的颜色.
2.常见图形绘制:
- CGContextFillRect/CGContextFillRects
- CGContextFillEllipseInRect
- CGContextAddRect/CGContextAddRects
- CGContextAddEllipseInRect
- CGContextAddLines
- CGContextMoveToPoint
- CGContextAddLineToPoint
3.常见控制方法:
- CGContextSaveGState
- CGContextRestoreGState
4.创建内存图像context:
- CGBitmapContextCreate <-----CGContextRlease释放
- CGColorSpaceCreateWithName (KCGColorSpaceGenericRGB)
- CGColorSpaceRlease
- CGBitmapContextCreateImage() <-----CGImageRlease 释放.
- eg:
- CGContextRefMyCreateBitmapContext(intpixelsWide,intpixelsHigh)
- {
- CGContextRef context=NULL;
- CGColorSpaceRefcolorSpace;
- void* bitmapData;
- int bitmapByteCount;
- int bitmapBytesPerRow;
- bitmapBytesPerRow =(pixelsWide*4);
- bitmapByteCount =(bitmapBytesPerRow*pixelsHigh);
- colorSpace=CGColorSpaceCreateDeviceRGB();
- bitmapData=malloc(bitmapByteCount);
- if(bitmapData==NULL)
- {
- fprintf(stderr,"Memorynotallocated!");
- returnNULL;
- }
- context=CGBitmapContextCreate(bitmapData,
- pixelsWide, pixelsHigh, 8,
- bitmapBytesPerRow, colorSpace,
- kCGImageAlphaPremultipliedLast);
- if(context==NULL)
- {
- free(bitmapData);
- fprintf(stderr,"Contextnotcreated!");
- returnNULL;
- }
- CGColorSpaceRelease(colorSpace);
- returncontext;
- }
5.图形的变换:
- CGContextTranslateCTM
- CGContextRotateCTM
- CGContextScaleCTM
6.常用函数:
- CGRectContainsPoint();
- CGRectContainsRect();
- CGRectIntersectsRect();
- CGRectIntersection();
- CGPointEqualToPoint();
- CGSizeEqualToSize();
7.从原图片中取小图.
- CGImageCreateWithImageInRect
8.屏幕快照:
- #import "QuartzCore/QuartzCore.h"
- UIGraphicsBeginImageContext(yourView.frame.size);
- [[yourView layer] renderInContext:UIGraphicsGetCurrentContext()];
- UIImage*screenshot =UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- from:http://www.cppblog.com/zhangyuntaoshe/articles/123066.html
合并两张bit图到一张image的方法
- To graphically merge two images into a new image, you do something like this:
- UIImage *result = nil;
- unsignedchar *data = calloc(1,size.width*size.height*kBytesPerPixel);
- if (data != NULL) {
- // kCGImageAlphaPremultipliedLast 为预记录的#define value
- // 设置context上下文
- CGContextRef context = CGBitmapContextCreate(
- data, size.width, size.height, 8, size.width*kBytesPerPixel,
- CGColorSpaceCreateDeviceRGB(), kCGImageAlphaPremultipliedLast);
- if (context != NULL) {
- UIGraphicsPushContext(context);
- // Image 为下载的背景图片,用于比较context
- CGContextTranslateCTM(context, 0, size.height);
- CGContextScaleCTM(context, 1, -1);
- [image drawInRect:imageRect];
- [image2 drawInRect:image2Rect];
- UIGraphicsPopContext();
- CGImageRef imageRef = CGBitmapContextCreateImage(context);
- if (imageRef != NULL) {
- result = [UIImageimageWithCGImage:imageRef];
- CGImageRelease(imageRef);
- }
- CGContextRelease(context);
- }
- free(data);
- }
- return result;
关键方法:
- CGContextRef context = CGBitmapContextCreate();
- CGContextTranslateCTM();
- CGContextScaleCTM();
- CGImageRef imageRef = CGBitmapContextCreateImage(context);
- CGImageRelease(imageRef);
小结:iPhone图形开发绘图教程的内容介绍完了,希望本文对你有所帮助!
发表评论
-
IOS7 小技巧
2013-11-17 21:04 8471.设置navigationBar的字体颜色 se ... -
开发小技巧
2013-06-05 14:10 9771.设置View阴影 button.layer.shad ... -
iPhone 路径大全
2012-01-30 13:44 14241、【/Applications】常用软件的安装目录 2. 【 ... -
CABasicAnimation
2012-01-20 19:36 952//移动 CABasicAnimati ... -
IOS 5手势识别教程:二指拨动、拖移以及更多手势
2012-01-29 16:04 1636免责申明(必读!):教程的翻译原稿均来自于互联网,仅供学习交流 ... -
math.h里的数学计算公式介绍
2011-12-14 10:27 13731、 三角函数 double sin (do ... -
UItableView 详细讲解
2011-11-06 18:40 977-、建立 UITableView DataTable = [[ ... -
UIView to UIImage resize 图片
2011-10-24 15:10 92501 有时候你想把某个view上的内容截取下来,变 ... -
自定义NavgationController动画
2011-10-14 11:08 1433只要把这两个方法作为UINavigationControlle ... -
在程序运行中调整UITableViewCell高度
2011-09-19 23:22 1531最近要实现下面的效果,就是在UITableView中有很多 ... -
在iphone工程属性设置时,使用相对路径
2011-09-19 23:21 850"$(SRCROOT)" 这个代表工 ... -
ios设置时区转换
2011-09-19 23:20 1699有的时候为了在系统中统一时间,需要在服务器和客户端统一交换 ... -
ios通过google map显示地图和乘车信息
2011-09-19 23:19 720添加一个UIWebView控件,UIWebView *my ... -
ios实现汉字拼音首字母类库
2011-09-19 23:18 1128phone的通讯录是按照字母进行排序的,那么中文需要知道第一个 ... -
捕获 iPhone 电话呼叫事件的方法
2011-09-19 23:15 1020这是 iOS 4.0 以后才公开的接口,用于捕获 iPho ... -
在 iPhone 静音情况下,播放 MP3 文件的代码
2011-09-19 23:14 1377在 iPhone 静音情况下,播放 MP3 文件的代码 ... -
向iPhone模拟器中添加视频
2011-09-19 23:14 1188NSString *path=[[NSBundle mai ... -
适合显示时间的字体
2011-09-19 23:11 979UILabel *label = [[UILabe ... -
UIWebView显示gif图片
2011-09-19 23:10 1323在适当的地方加入下面的代码: NSString* ... -
获取全球所有时区当前时间
2011-09-19 23:10 901NSDate *nowDate = [NSDatenew] ...
相关推荐
C 开发的绘图程序, 包括直线,椭圆 ,矩形,曲线,撤销,清屏,颜色和线性设定,图片保存,以及相册中的图片处理功能(图片移动,放大,缩小),以及其他各种功能,集各种功能与一身,代码清晰,简洁易懂,非常适合iphone初学者.
Quartz 2D is an advanced, two-dimensional drawing engine available for iPhone application development and to all Mac OS X application environments outside of the kernel. Quartz 2D provides low-level, ...
iPhone游戏开发iPhone游戏开发iPhone游戏开发iPhone游戏开发iPhone游戏开发iPhone游戏开发iPhone游戏开发iPhone游戏开发iPhone游戏开发iPhone游戏开发
Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码——Iphone主题源码Iphone开发系列源码...
iPhone开发实战 iPhone开发 iPhone iPhone4 iPhone开发实战 iPhone开发 iPhone iPhone4
iPhone/iPad 绘图应用 Brushes ,Brushes 是一个绘图应用,支持 iPhone, iPod touch 和 iPad。
目前市面上不乏iPhone App开发的书籍,但要做出成功的产品,需要的绝不仅仅是开发优秀的软件。本书将向你展示完整的开发过程,从下载工具,开发应用,进行测试,通过苹果的审核,到推销和维护你的产品。本书适合...
iphone创意开发入门与实践总结
开发几个自己的小游戏。比如超级玛利、雷电什么的。如果要进一步深入学习cocos2d,那里仔细研究它里面testBed里面的例子工程是非常不错的选择,还有box2d testbed里面的例子。(现在大部分排名靠前的游戏,比如...
[iphone.开发书籍 高清PDF]iphone3开发基础教程.part3
Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码——iPhone版Wordpress源代码Iphone开发系列源码...
本书全面探讨了iPhone平台的两种编程...在SDK开发方面,详细描述其各种组件和功能,包括Xcode、Interface Builder、视图控制器、用户交互、SDK工具包、加速计和GPS、媒体、图形等。 本书适合所有iPhone开发人员学习参考
Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image图片缩放随着手指Iphone开发系列源码——Image...
iphone游戏开发实践指南每一节的源代码,以及游戏Sir Lamorak's Quest的完整的带有注释的源代码
iPhone sdk开发 绘图 无断点 画任意轨迹
iPhone开发,iPhone开发教程,iPhone开发基础教程PDF版
《iPhone开发基础教程》内容完整丰富,具有较强的通用性,编程领域中各层次读者都能通过《iPhone开发基础教程》快速学习iPhone开发,提高相关技能。iPhone 是一种全新的移动平台,苹果公司为它推出了强大的软件开发...
iphone官方开发文档中文翻译,第四章图形与描画。很不错的文档。
iPhone游戏开发_12871881.pdf
iPhone 程序开发基础教程.pdf,iPhone软件工程师可以看看。