0
我試圖使用CGContextSetFillColorWithColor
和我從Parse數據庫抓取的顏色變量對圖像着色。CGContextSetFillColorWithColor不適用於顏色變量
改變影像這樣的顏色正常工作:
[...]
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白色沒有問題。
但是當我嘗試將其更改爲十六進制顏色我從解析得到(使用十六進制顏色實用程序)是這樣的:
self.bgColor = [post objectForKey:@"bgColor"]; //bgColor = "#ffffff"
[...]
CGContextSetFillColorWithColor(context,
[[UIColor colorWithHexString:self.bgColor] CGColor]);
圖像不再出現。這是一個指針問題?謝謝你的幫助。
感謝西莫,不幸的是我得到的錯誤'傳遞空隙CGColorRef不兼容的類型的參數(又名struct CGColor *)'當我嘗試。 – ahow 2013-03-06 15:49:42
你確定'-colorWithHexString'調用正在返回一個有效的UIColor對象嗎? – 2013-03-06 15:51:58
啊,算出來,謝謝Seamus! – ahow 2013-03-06 16:06:00