2010-11-23 7 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

+2

किसी कारण से मैंने हमेशा एक खाली ग्रे क्षेत्र था जब मैंने कोशिश की, इससे कोई फर्क नहीं पड़ता कि मैंने भरने वाले रंग मानों को क्या सेट किया है। – micahhoover

+3

मैं आईओएस 4 या नए पर 'UIGraphicsBeginImageContextWithOptions' का उपयोग करूंगा। इस तरह स्केल फैक्टर पर विचार करने की कोई आवश्यकता नहीं है। – bioffe

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^