Как наложить слой на CGContext - PullRequest
0 голосов
/ 08 марта 2012

Я использую обходной путь для успешного сохранения изображения с маской (потому что вы не можете рендерить маски с помощью CoreAction).

Вот мой код:

CGContextRef context = CGBitmapContextCreate(nil, cWidth, cHeight, bitsPerComponent, bytesPerRow, CGColorSpaceCreateDeviceRGB(), CGImageGetBitmapInfo(image));
//the mask:
CGContextClipToMask(context, CGRectMake(0,0,1280,935), self.image.image.CGImage);
//the image to mask:
CGContextDrawImage(context, CGRectMake(0, 0, 1280,935), viewImage.CGImage);

CGImageRef mergeResult  = CGBitmapContextCreateImage(context);
    saver = [[UIImage alloc] initWithCGImage:mergeResult];

Так что это работает довольно хорошо, маска обрезает все за пределами своей формы на целевом изображении.Это делает окружающую область и фон белым.Вместо того, чтобы показывать белый цвет, я хотел бы показать изображение / цвет / рисунок и т. Д. Поэтому я бы в основном хотел поместить другое изображение позади всего этого.

Как это можно сделать?Спасибо

1 Ответ

1 голос
/ 08 марта 2012

Сначала нарисуйте свой фон в контексте, затем обрежьте, затем нарисуйте свое изображение в том же контексте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...