Вопрос по ios, uiimage, masking, iphone – Как создать собственную маску в ios

7

enter image description here

дублировать

так что не отрицайте мою репутацию.

Мое изображение маски: enter image description here

Мой вывод:enter image description here

- (UIImage*)maskImage:(UIImage *)image withMask:(UIImage *)maskImage {

    CGImageRef maskRef = maskImage.CGImage;

    CGImageRef mask = CGImageMaskCreate(
                                        CGImageGetWidth(maskRef),
                                        CGImageGetHeight(maskRef),
                                        CGImageGetBitsPerComponent(maskRef),
                                        CGImageGetBitsPerPixel(maskRef),
                                        CGImageGetBytesPerRow(maskRef),
                                        CGImageGetDataProvider(maskRef), NULL, false
                                        );

    CGImageRef masked = CGImageCreateWithMask(image.CGImage, mask);
    CGImageRelease(mask);
    return [UIImage imageWithCGImage:masked];
}

Итак, как создать собственное изображение маски?

Спасибо...

rokjarc :) спасибо, теперь работает отлично. Спасибо друг ... большое спасибо. Mani
Сначала сохраните его как .jpg, чтобы удалить альфа. Затем вы можете сохранить его обратно в PNG. Это изображение должно работать уже. Но вы также можете преобразовать его в оттенки серого (поскольку информация о цвете отбрасывается при таком типе маскирования) с помощью image- & gt; mode-> greyscale. Rok Jarc
Изображение маски должно быть серого цвета без альфа-канала. Rok Jarc
Подскажите пожалуйста, как отредактировать это изображение с фотошопом .. Mani
Добро пожаловать! Rok Jarc

Ваш Ответ

1   ответ
5

Попробуйте преобразовать изображение в изображение в градациях серого без альфа.

Save it as .jpg to remove alpha. Then you can save it back to png. This image should work already.

Convert it to greyscale (since color information is discarded in this kind of masking) by image->mode->greyscale.

enter image description here

Да, это работает .. :) Mani
Отличная работа отлично

Похожие вопросы