首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

iPhone图形开发绘图总结

2012-07-26 
iPhone图形开发绘图小结1、绘图总结:绘图前设置:CGContextSetRGBFillColor/CGContextSetFillColorWithColor

iPhone图形开发绘图小结

1、绘图总结:

绘图前设置:

  1. CGContextSetRGBFillColor/CGContextSetFillColorWithColor??//填充色? ?
  2. CGContextSetRGBStrokeColor/CGContextSetStrokeColorWithColor?//笔颜色? ?
  3. CGContextSetLineWidth???//线宽度??

绘图后设置:

注:? 画完图后,必须 先用CGContextStrokePath来描线,即形状,后用CGContextFillPath来填充形状内的颜色.

2.常见图形绘制:

  1. CGContextFillRect/CGContextFillRects? ?
  2. CGContextFillEllipseInRect? ?
  3. CGContextAddRect/CGContextAddRects? ?
  4. CGContextAddEllipseInRect? ?
  5. CGContextAddLines? ?
  6. CGContextMoveToPoint? ?
  7. CGContextAddLineToPoint??

3.常见控制方法:

  1. CGContextSaveGState? ?
  2. CGContextRestoreGState??

4.创建内存图像context:

  1. CGBitmapContextCreate???????<CGColorSpaceRlease? ?
  2. CGBitmapContextCreateImage()???<eg:? ?
  3. CGContextRefMyCreateBitmapContext(intpixelsWide,intpixelsHigh)? ?
  4. {? ?
  5. CGContextRef????CGColorSpaceRefcolorSpace;? ?
  6. void*??????????bitmapData;? ?
  7. int?????????????bitmapByteCount;? ?
  8. int?????????????bitmapBytesPerRow;? ?
  9. if(fprintf(stderr,"Memorynotallocated!");? ?
  10. returnNULL;? ?
  11. }? ?
  12. if(free(bitmapData);? ?
  13. fprintf(stderr,"Contextnotcreated!");? ?
  14. returnNULL;? ?
  15. }? ?
  16. CGColorSpaceRelease(colorSpace);? ?
  17. returncontext;? ?
  18. }??

5.图形的变换:

  1. CGContextTranslateCTM? ?
  2. CGContextRotateCTM? ?
  3. CGContextScaleCTM??

6.常用函数:

  1. ??CGRectContainsPoint();? ?
  2. CGRectContainsRect();? ?
  3. CGRectIntersectsRect();? ?
  4. CGRectIntersection();? ?
  5. CGPointEqualToPoint();? ?
  6. CGSizeEqualToSize();??

7.从原图片中取小图.

  1. CGImageCreateWithImageInRect??

8.屏幕快照:

  1. #import?"QuartzCore/QuartzCore.h"? ?
  2. ?
  3. UIGraphicsBeginImageContext(yourView.frame.size);? ?
  4. [[yourView?layer]?renderInContext:UIGraphicsGetCurrentContext()];? ?
  5. UIImage*from:http://www.cppblog.com/zhangyuntaoshe/articles/123066.html??

合并两张bit图到一张image的方法

  1. To?graphically?merge?two?images?into?a?new?image,?you?do?something?like?this:? ?
  2. UIImage?*unsignedchar?*//?kCGImageAlphaPremultipliedLast?为预记录的#define?value? ?
  3. //?设置context上下文? ?
  4. CGContextRef?CGColorSpaceCreateDeviceRGB(),?kCGImageAlphaPremultipliedLast);? ?
  5. if?(context?!=?NULL)?{? ?
  6. UIGraphicsPushContext(context);? ?
  7. //??Image?为下载的背景图片,用于比较context? ?
  8. CGContextTranslateCTM(context,?0,?size.height);? ?
  9. CGContextScaleCTM(context,?1,?-1);? ?
  10. [image?drawInRect:imageRect];? ?
  11. [image2?drawInRect:image2Rect];? ?
  12. UIGraphicsPopContext();? ?
  13. CGImageRef?if?(imageRef?!=?NULL)?{? ?
  14. CGImageRelease(imageRef);? ?
  15. }? ?
  16. CGContextRelease(context);? ?
  17. }? ?
  18. free(data);? ?
  19. }? ?
  20. return?result;??

关键方法:?

  1. CGContextRef?CGContextScaleCTM();? ?
  2. CGImageRef?CGImageRelease(imageRef);?

小结:iPhone图形开发绘图教程的内容介绍完了,希望本文对你有所帮助!

热点排行