我有两个 ImageView,一个称为 imageView,另一个称为 subView(它是 imageView 的子视图)。
我想将这些视图上的图像混合在一起,用户可以用平底锅切换混合的 alpha。我的代码可以工作,但是现在代码很慢,因为每次移动平移手势时我们都在重绘图像。有没有更快/更有效的方法来做到这一点?
奖金问:我想允许我的 subView 图像放大绘制。目前我已经将我的 subView 设置为 UIViewContentModeCenter,但是我似乎无法使用这种内容模式绘制我的图像的一部分。有没有办法解决?
我的drawrect:
- (void)drawRect:(CGRect)rect
{
float xCenter = self.center.x - self.currentImage1.size.width/2.0;
float yCenter = self.center.y - self.currentImage1.size.height/2.0;
subView.alpha = self.blendAmount; // Customize the opacity of the top image.
UIGraphicsBeginImageContext(self.currentImage1.size);
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetBlendMode(c, kCGBlendModeColorBurn);
[imageView.layer renderInContext:c];
self.blendedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self.blendedImage drawAtPoint:CGPointMake(xCenter,yCenter)];
}