0
我有透明區域的白色圖像,中間是這樣的:iOS - 僅在非透明區域覆蓋UIImage顏色?
我想和顏色(非透明僅區)覆蓋它,所以它看起來是這樣的:
我該怎麼做?
我已經看過這個answer,但它覆蓋了包括非透明區域在內的整個圖像。
我有透明區域的白色圖像,中間是這樣的:iOS - 僅在非透明區域覆蓋UIImage顏色?
我想和顏色(非透明僅區)覆蓋它,所以它看起來是這樣的:
我該怎麼做?
我已經看過這個answer,但它覆蓋了包括非透明區域在內的整個圖像。
所以你的形象實際上是一個「面具」。使用「CGContextClipToMask」調用和上面引用的代碼來玩轉。
試試下面的代碼,它給出了你想要的。
UIGraphicsBeginImageContextWithOptions(imgView.image.size, YES, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [[UIColor redColor] CGColor]);
CGContextFillRect(context, (CGRect){ {0,0}, imgView.image.size});
CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, imgView.image.size.height);
CGContextConcatCTM(context, flipVertical);
CGContextDrawImage(context, (CGRect){ {0,0}, imgView.image.size }, [imgView.image CGImage]);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[imgView setImage:image];