[英]Why CGContextSetFillColorWithColor filling wrong color in a rectangle area in ios
[英]CGContextSetFillColorWithColor not working with passed in color variable
我正在嘗試使用CGContextSetFillColorWithColor
和從Parse數據庫中獲取的顏色變量為圖像着色。
通過這種方式更改圖像的顏色效果很好:
[...]
UIImage *image = [UIImage imageNamed:@"menuButton.png"];
CGRect rect = CGRectMake(0, 0, image.size.width, image.size.height);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextClipToMask(context, rect, image.CGImage);
CGContextSetFillColorWithColor(context, [[UIColor whiteColor] CGColor]);
[...]
那將menuButton.png更改為白色沒問題。
但是,當我嘗試將其更改為十六進制顏色時,我是通過以下方式從Parse(使用十六進制顏色實用程序)獲取的:
self.bgColor = [post objectForKey:@"bgColor"]; //bgColor = "#ffffff"
[...]
CGContextSetFillColorWithColor(context,
[[UIColor colorWithHexString:self.bgColor] CGColor]);
圖像不再出現。 這是指針問題嗎? 謝謝你的幫助。
我遇到了類似的問題,沒有找到直接的解決方案。 對我來說,解決方案是在UIColor
對象上使用-setFill
方法,而不是使用中間CGColor
對象:
[[UIColor colorWithHexString:self.bgColor] setFill];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.