摘要: GDI+在Delphi程序的应用 – Photoshop色相/饱和度/明度功能本文用GDI+实现Photoshop色相/饱和度/明度功能,参照我的其它有关GDI+在 Delphi程序的应用的文章,代码也可供TBitmap使用。 有些人不喜欢,或者不太懂Delphi的BASM代码,所以本文给出纯PAS代码。须说明的是,纯PAS代码效率较低,不适合实际应用。喜欢C/C++的,可以看本人文章《C++实现Photoshop色相/饱和度/明度功能》,除了语言不同,其它都一样。 有关Photoshop饱和度调整原理可参见《GDI+ 在Delphi程序的应用 -- 图像饱和度调整》,明度调整原理可参见《GD 阅读全文
posted @ 2013-01-02 00:32 ESREAL技术博客 阅读(240) 评论(0) 推荐(0)
摘要: GDI+ 在Delphi程序的应用 -- 仿Photoshop的明度调整这几天研究了一下Photoshop的色相/饱和度命令,也就是所谓的HSB颜色模式,没完全搞明白,网上搜索也没一点结果,看了一些介绍HSB算法的文章,其实讲的就是HSV或者HSL的算法。 关于PS色相/饱和度中的色相,就不用研究了,原理和HSV或者HSL的H都是一样的。 而饱和度在-100,0,+100这三点上的效果与HSL完全一样,其它范围就有区别了,特别是在0 -- +100范围,调整时比HSL的H调整要平坦,所以有效调整幅度较大,有些图片调整到+50%以上还不觉很大失真(这里的“失真”是针对颜色中难看的斑点来说的,并不 阅读全文
posted @ 2013-01-02 00:22 ESREAL技术博客 阅读(286) 评论(0) 推荐(0)
摘要: GDI+ 在Delphi程序的应用 -- 图像饱和度调整图像的饱和度调整有很多方法,最简单的就是判断每个象素的R、G、B值是否大于或小于128,大于加上调整值,小于则减去调整值;也可将象素RGB转换为HSV或者HSL,然后调整其S部分,从而达到线性调整图象饱和度的目的。这几种方法我都测试过,效果均不太好,简单的就不说了,利用HSV和HSL调整饱和度,其调节范围很窄,饱和度没达到,难看的色斑却出现了。而Photoshop的饱和度调整调节范围大多了,效果也好多了,请看下面25%饱和度调整时几种方法的效果对比图:可以看出,都是25%的饱和度调整,Photoshop的调节幅度显得小一些(平坦些),效果 阅读全文
posted @ 2013-01-02 00:19 ESREAL技术博客 阅读(415) 评论(0) 推荐(0)