如何使用 GDI+ 旋转图像的色调ImageAttributes
(并且大概ColorMatrix
)?
请注意,我想旋转色调,而不是对图像进行着色。
EDIT:通过旋转色调,我的意思是图像中的每种颜色应该转换为不同的颜色,而不是使整个图像变成一种颜色的阴影。
例如,
原来的:http://www.codeguru.com/img/legacy/gdi/Tinter03.jpg http://www.codeguru.com/img/legacy/gdi/Tinter03.jpg
旋转:http://www.codeguru.com/img/legacy/gdi/Tinter15.jpg http://www.codeguru.com/img/legacy/gdi/Tinter15.jpg or http://www.codeguru.com/img/legacy/gdi/Tinter17.jpg http://www.codeguru.com/img/legacy/gdi/Tinter17.jpg
我把这个放在一起 http://rexmorgan.net/journal/rotate_image_hue_in_cnet对于这个问题(帖子底部链接了带有 c# 项目的 ZIP 文件)。它不使用ImageAttributes
or ColorMatrix
,但它会旋转色调,如您所描述的:
//rotate hue for a pixel
private Color CalculateHueChange(Color oldColor, float hue)
{
HLSRGB color = new HLSRGB(
Convert.ToByte(oldColor.R),
Convert.ToByte(oldColor.G),
Convert.ToByte(oldColor.B));
float startHue = color.Hue;
color.Hue = startHue + hue;
return color.Color;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)