Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drawing into CGImageRef

I want to create a CGImageRef and draw points to it.

What context to use to create an empty CGImageRef and be able to draw onto it. CGContextRef or CGBitmapContextRef?

If you can provide code to create an empty CGImageRef image and draw to it I would appreciate.

like image 216
Cyprian Avatar asked Nov 23 '10 14:11

Cyprian


1 Answers

#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;
    }
like image 68
John Carter Avatar answered Oct 05 '22 06:10

John Carter