上一篇我们看了图片的加载方式,接下来我们看看图片一下常用的混合模式,我觉得这个最好是先自己玩一玩photoshop,上面有很多混合模式可以自己试验,这里我们用代码进行尝试修改图片的混合模式,这样可以看到不同的图片效果。
这里我们就必须用到绘图。常用的方法是:
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:blendMode alpha:alpha];
先让大家看看这个代码:
- (UIImage *)drawPiucureFrontImage:(UIImage *)personImage backImage:(UIImage *)hatImage blendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha
{
CGSize newSize =[personImage size];
UIGraphicsBeginImageContext(newSize);
[personImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:1];
[hatImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:blendMode alpha:alpha];
UIImage*newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
_imageV.image = newImage;
num++;
return newImage;
}
kCGBlendModeNormal
这个是混合模式的效果 在ps中是正常,以下是常用的模式
kCGBlendModeNormal --ok 正常,
kCGBlendModeMultiply, 正片叠底
kCGBlendModeScreen, 滤色
kCGBlendModeOverlay, 叠加
kCGBlendModeDarken, 变暗
kCGBlendModeLighten, 变亮
kCGBlendModeColorDodge, 颜色减淡
kCGBlendModeColorBurn, 颜色加深
kCGBlendModeSoftLight, 柔光
kCGBlendModeHardLight, 强光
kCGBlendModeDifference, 差值
kCGBlendModeExclusion, 排除
kCGBlendModeHue, 色相
kCGBlendModeSaturation, 保护度
kCGBlendModeColor, 颜色
kCGBlendModeLuminosity 明度,
这几个可以试试,每一种图片的模式都不一样。其中正片叠底 和叠加应该是我经常用到的混合模式。