我想與梯度繪製圓形進度視圖圖像:如何繪製漸變iOS中
我嘗試下面的代碼,但結果顏色是不正確的。這是我的代碼:
//draw gradient
CGFloat colors [] = {
1.0, 0.7,
0.2, 0.4
};
CGFloat locations[] = { 0.0, 1.0 };
CGColorSpaceRef baseSpace = CGColorSpaceCreateDeviceGray(); // gray colors want gray color space
CGGradientRef gradient = CGGradientCreateWithColorComponents(baseSpace, colors, locations, 2);
CGColorSpaceRelease(baseSpace), baseSpace = NULL;
CGContextSaveGState(context);
CGContextAddPath(context, progressPath);
CGContextClip(context);
CGRect boundingBox = CGPathGetBoundingBox(progressPath);
CGPoint gradientStart = CGPointMake(0.0, CGRectGetMinY(boundingBox));
CGPoint gradientEnd = CGPointMake(1.0, CGRectGetMaxY(boundingBox));
CGContextDrawLinearGradient(context, gradient, gradientStart, gradientEnd, 0);
CGGradientRelease(gradient), gradient = NULL;
CGContextRestoreGState(context);
的progressPath
是與顏色的進度線:
[UIColor colorWithRed:21/255.0f green:182/255.0f blue:217/255.0f alpha:1.0]
UPDATE:
這是我的代碼所產生的圖像:Result Image 結果圖像不是同樣的設計,顏色是不一樣的。我不知道爲什麼。
請幫我解決這個問題。提前致謝。
糟糕,我的答案假定您想要一個角度漸變,但仔細檢查後,它看起來像圖像實際上使用的是線性漸變。你可以發佈這個代碼生成的圖像的圖像,所以我們可以看到輸出有什麼問題嗎? – 2014-08-28 17:28:14
除了用藍色頂部的alpha通道繪製灰色,還可以嘗試使用從原始圖像中採樣的RGB顏色。根據我的測量,它們應該是RGB(78,95,99)和RGB(139,206,227)。 – 2014-08-29 15:02:57