2010-11-23 31 views
7

我想创建一个CGImageRef并绘制点。绘制成CGImageRef

使用什么样的上下文来创建一个空的CGImageRef并能够绘制它。 CGContextRef或CGBitmapContextRef?

如果您可以提供代码来创建一个空的CGImageRef图像并绘制它,我将不胜感激。

回答

19
#define HIRESDEVICE (((int)rintf([[[UIScreen mainScreen] currentMode] size].width/[[UIScreen mainScreen] bounds].size.width)>1)) 


- (CGImageRef) blerg 
    { 
    CGFloat imageScale = (CGFloat)1.0; 
    CGFloat width = (CGFloat)180.0; 
    CGFloat height = (CGFloat)180.0; 

    if (HIRESDEVICE) 
     { 
     imageScale = (CGFloat)2.0; 
     } 

    // Create a bitmap graphics context of the given size 
    // 
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 
    CGContextRef context = CGBitmapContextCreate(NULL, width * imageScale, height * imageScale, 8, 0, colorSpace, kCGImageAlphaPremultipliedLast); 


    // Draw ... 
    // 
    CGContextSetRGBFillColor(context, (CGFloat)0.0, (CGFloat)0.0, (CGFloat)0.0, (CGFloat)1.0); 
    // … 


    // Get your image 
    // 
    CGImageRef cgImage = CGBitmapContextCreateImage(context); 

    CGColorSpaceRelease(colorSpace); 
    CGContextRelease(context); 

    return cgImage; 
    } 
+0

感谢人帮了很多! – Cyprian 2010-11-24 08:35:43