謝謝德文!這是我的C#代碼來實現你的建議。它工作得很好。把它變成一個社區擁有的Wiki帖子,如果有人喜歡添加一些代碼,請隨意編輯它。
(示例使用Alpha和不同價值觀的曝光比下面的代碼)
Image img = Image.FromFile("rss-icon.jpg");
pictureBox1.Image = AddCircularGloss(img, 30,25,255,255,255);
public static Image AddCircularGloss(Image inputImage, int exposurePercentage, int transparency, int fillColorR, int fillColorG, int fillColorB)
{
Bitmap outputImage = new Bitmap(inputImage);
using (Graphics g = Graphics.FromImage(outputImage))
{
using (Pen p = new Pen(Color.FromArgb(transparency, fillColorR, fillColorG, fillColorB)))
{
// Looks jaggy otherwise
g.SmoothingMode = SmoothingMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
int x, y;
// 3 * Height looks best
int diameter = outputImage.Height * 3;
double imgPercent = (double)outputImage.Height/100;
x = 0 - outputImage.Width;
// How many percent of the image to expose
y = (0 - diameter) + (int)(imgPercent * exposurePercentage);
g.FillEllipse(p.Brush, x, y, diameter, diameter);
}
}
return outputImage;
}
(約翰的建議後變了,我不能,雖然處理位圖,這必須由完成函數的調用者)
好指針玩笑。 – TonyOssa 2008-09-21 00:59:12
這裏是[一個Photoshop教程](http://www.redcultur.com/silkypixel/2008/01/11/tutorial-on-how-to-make-an-iphone-esque-gui-icon/),顯示過程 – 2008-09-20 23:46:55
您的第一個示例圖片已損壞,鏈接已死? – rene 2016-06-01 13:35:34