Все для iOS - сайт поддержки программ для iPhone и iPad
Поиск
Текст поиска*
Введите текст для поиска
Архив

Review forios.ru on alexa.com
Случайный пользователь
Richbir
Richbir
Мужской
Кто онлайн
никого
2

SOCPUBLIC.COM - заработок в интернете!

Прибыль каждые 10 минут!

Изменение размеров и маски изображения

Изменение размеров и маски изображения


- (UIImage*) maskImage:(UIImage *)image  {
     
     CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
     
     UIImage *maskImage = [UIImage imageNamed:@"mask.png"];
     CGImageRef maskImageRef = [maskImage CGImage];
     
     // create a bitmap graphics context the size of the image
     CGContextRef mainViewContentContext = CGBitmapContextCreate (NULL, maskImage.size.width, maskImage.size.height, 8, 0, colorSpace, kCGImageAlphaPremultipliedLast);
     
     
     if (mainViewContentContext==NULL)
          return NULL;
     
     CGFloat ratio = 0;
     
     ratio = maskImage.size.width/ image.size.width;
     
     if(ratio * image.size.height < maskImage.size.height) {
          ratio = maskImage.size.height/ image.size.height;
     } 
     
     CGRect rect1  = {{0, 0}, {maskImage.size.width, maskImage.size.height}};
     CGRect rect2  = {{-((image.size.width*ratio)-maskImage.size.width)/2 , -((image.size.height*ratio)-maskImage.size.height)/2}, {image.size.width*ratio, image.size.height*ratio}};
     
     
     CGContextClipToMask(mainViewContentContext, rect1, maskImageRef);
     CGContextDrawImage(mainViewContentContext, rect2, image.CGImage);
     
     
     // Create CGImageRef of the main view bitmap content, and then
     // release that bitmap context
     CGImageRef newImage = CGBitmapContextCreateImage(mainViewContentContext);
     CGContextRelease(mainViewContentContext);
     
     UIImage *theImage = [UIImage imageWithCGImage:newImage];
     
     CGImageRelease(newImage);
     
     // return the image
     return theImage;
}