Объединить два UIImages - PullRequest
       3

Объединить два UIImages

11 голосов
/ 07 декабря 2010

У меня есть imageA (взято из камеры iPhone пользователя) и imageB, изображение с глупой границей (например) с большим количеством прозрачного альфа-пространства.

Я хотел бы объединить эти два изображения, наложить imageB на imageA, а затем сохранить их как imageC для другой работы.

Есть ли способ сделать это?

Приветствия

Пока у меня есть это

-(void)merge
{
    CGSize size = CGSizeMake(320, 480);
    UIGraphicsBeginImageContext(size);

    CGPoint thumbPoint = CGPointMake(0,0);
    UIImage *imageA = imageView.image;
    [imageA drawAtPoint:thumbPoint];

    UIImage* starred = [UIImage imageNamed:@"imageB.png"];

    CGPoint starredPoint = CGPointMake(0, 0);
    [starred drawAtPoint:starredPoint];

    UIImage *imageC = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    imageView.image = imageC;
}

Я не вижу / не знаю, что я здесь делаю не так

Ответы [ 2 ]

3 голосов
/ 03 июля 2012

Обратите внимание, что для поддержки сетчатки вы должны использовать: UIGraphicsBeginImageContextWithOptions(size, YES, 0); // 0 means let iOS deal with scale for you

3 голосов
/ 07 декабря 2010

Этот код выглядит правильно (хотя я бы порекомендовал преобразовать его в созданный CGBitmapContext для обеспечения безопасности потоков), но должен ли imageB быть JPEG? JPEG не поддерживает прозрачность, поэтому для того, чтобы смешивание работало, оно должно быть в формате PNG.

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