У меня есть два UIImageViews, и я хочу скопировать изображение с одного на другое и настроить цвет, но это вызывает странное растяжение.UIImage Рисунок с цветом
Вот код, который я использую, чтобы сделать копию:
_selectedIcon.image = groupView.icon;
[ViewUtils colorImageView:_selectedIcon withRed:0.843 Green:0.3176 andBlue:0.066667];
Если я использую только первую строку он копирует изображение штрафа и выглядит следующим образом:
Это немного больше, потому что он должен выглядеть подсвеченным. Но он копируется и масштабируется правильно. Затем, когда я пытаюсь его цвет, он делает это:
Вот код, который я использую, чтобы цвет изображения:
+(void)colorImageView:(UIImageView*)source withRed:(CGFloat)red Green:(float)green andBlue:(float)blue
{
// Create a context containing the image.
UIGraphicsBeginImageContext(source.bounds.size);
CGContextRef context = UIGraphicsGetCurrentContext();
// The mask needs to be upside down for some reason
CGContextTranslateCTM(context, 0, source.bounds.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextClipToMask(context, source.bounds, [source.image CGImage]);
CGContextFillRect(context, source.bounds);
[[UIColor colorWithRed:red green:green blue:blue alpha:1.0] set];
UIBezierPath *imagePath = [UIBezierPath bezierPathWithRect:source.bounds];
[imagePath fill];
// Retrieve the new image.
source.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
У меня есть Пытается много различных способов масштабирования изображения в цветовом коде и ничего не работает. У кого-нибудь есть предложение?