Andengine 学习笔记 - 图片处理

选关界面中有一个对图片进行加灰处理的操作,看了一下引擎中Entity的源码,其中有一个Color属性,原来以为这个属性代表的是颜色,仔细的研究之后发现Color属性并不完全代表实体的颜色,它代表的是对实体整个图像的处理,除了颜色之外还有色相、亮度、饱和度。

Andengine有个ColorUtil工具类可以根据属性值来生成Color对象。
/**
	 * @param pHue [0 .. 360)
	 * @param pSaturation [0...1]
	 * @param pValue [0...1]
	 */
	public static final Color convertHSVToColor(final float pHue, final float pSaturation, final float pValue) {
		return ColorUtils.convertARGBPackedIntToColor(ColorUtils.convertHSVToARGBPackedInt(pHue, pSaturation, pValue));
	}

这里pHue参数代表的就是色相、中间值180代表的是平衡的色相,偏高和偏低的色相值会让图像变色。
pSaturation代表的是饱和度。
pValue代表的是亮度,这里想要让图片变灰,简单的设置一个低亮度就可以达到目的。

你可能感兴趣的:(图像,AndEngine)