Мое требование - обрезать изображение с помощью маски. Возможность обрезать изображение, но не в точном соотношении, как ожидалось. Я googled вокруг и попытался осуществить его, но, к сожалению, не получил результат, как ожидалось. Это то, что я получаю после обрезки изображения.Обрезать изображение с использованием маски
Ниже приводится код, я использую.
- (UIImage*) maskImage1:(UIImage *) image withMask:(UIImage *) mask
{
CGImageRef imageReference = image.CGImage;
CGImageRef maskReference = mask.CGImage;
CGImageRef imageMask = CGImageMaskCreate(CGImageGetWidth(maskReference),
CGImageGetHeight(maskReference),
CGImageGetBitsPerComponent(maskReference),
CGImageGetBitsPerPixel(maskReference),
CGImageGetBytesPerRow(maskReference),
CGImageGetDataProvider(maskReference),
NULL, // Decode is null
YES // Should interpolate
);
CGImageRef maskedReference = CGImageCreateWithMask(imageReference, imageMask);
CGImageRelease(imageMask);
UIImage *maskedImage = [UIImage imageWithCGImage:maskedReference];
CGImageRelease(maskedReference);
return maskedImage;
}
спасибо .. !!
Спасибо за ваш ответ. Извините, но я не могу понять, как использовать свой код в моем. Не могли бы вы предложить? – Mahesh
изменил мой ответ, поэтому мое альтернативное решение поддерживает ваше имя и структуру функции –