0
Я создаю изображение, комбинируя два других изображения, используя CGContext. Даже если у меня есть изображения @ 2x, мне не удастся создать изображение сетчатки.Невозможно создать изображения Retina с CGContextDrawImage
Вот мой код. Не могли бы вы помочь?
-(UIImage*)makePinImageWithImage:(UIImage*)icon {
UIImage * pin = [UIImage imageNamed:@"defaultPin.png"]; // I have the @2x one.
int w = pin.size.width;
int h = pin.size.height;
CGRect iconRect = CGRectMake(16, 47, 24, 26); // the frame where mix icon in pin
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 8 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
// Drawing pin in context
CGContextDrawImage(context, CGRectMake(0, 0, w, h), pin.CGImage);
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1);
// Drawing icon in context
CGContextDrawImage(context, iconRect, icon.CGImage);
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1);
// Getting back the final image
CGImageRef imageCG = CGBitmapContextCreateImage(context);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
UIImage * createdImage = [UIImage imageWithCGImage:imageCG];
CGImageRelease(imageCG);
return createdImage;
}
Благодаря