在iOS中有使用UIGraphicsBeginImageContextWithOptions去改变UIImage中的图片颜色,在macOS中找了很久,才找到线面的方法实现同样的操作。
- (NSImage*)changeColor:(NSColor*)color oldImage:(NSImage *)oldImage {
NSImage*newImage=[oldImage copy];
[newImage lockFocus];
[color set];
NSRect imageRect=NSMakeRect(0, 0, oldImage.size.width, oldImage.size.height);
NSRectFillUsingOperation(imageRect, NSCompositingOperationSourceAtop);
[newImageun lockFocus];
return newImage;
}
网友评论