Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Resize CGImageRef without anti-liasing

I am trying to resize a 10x10 pixel CGImageRef, captured like this:

CGImageRef imageRef = CGImageCreateWithImageInRect(screenShot, CGRectMake(mouseLoc.x-5, screen_height-mouseLoc.y-5, 10, 10));

CGContextRef mainViewContentContext = CGBitmapContextCreate (NULL, maskImage.size.width, maskImage.size.height, 8, maskImage.size.height*4, colorSpace, kCGImageAlphaPremultipliedFirst);

CGContextDrawImage(mainViewContentContext, NSMakeRect(0,0, maskImage.size.width, maskImage.size.height), imageRef);

Then I need to make a 250x250 pixel image like this this, but the upscaled image looks like there is anti aliasing on it (looks like this)

like image 812
Marek Avatar asked Aug 29 '11 16:08

Marek


1 Answers

try CGContextSetInterpolationQuality:

// disable interpolation like this:
CGContextSetInterpolationQuality(mainViewContentContext, kCGInterpolationNone);
// now draw
like image 63
justin Avatar answered Nov 02 '22 08:11

justin