原文地址 示例下载 源码下载(VS2005) 简介 ... 概述 这篇文章的目的是构建一个图像处理功能的类而使每一个C#程序员都能够使用。因为使用C#能够非常灵活的进行图像处理。 我们知道,当基于计算来移动像素或改变像素值的代码稍微有点复杂。 应用 ImageHandler类负责图像处理的相关操作,如保存、图像关联操作等。功能包括:获取图片信息、 缩放、色彩滤镜、亮度、反向、灰度、转换、裁贴、和插入文字、其它图片或几何图形。 Paint方法使用AutoScoolPosition属性发现滚动位置,使用AutoScrollMinSize属性进行设置。 1.Color Filter(色相) 关于色相的说明: 从光学意义上讲,色相差别是由光波波长的长短产生的。即便是同一类颜色,也能分为几种色相,如黄颜色可以分为中黄、土黄、 柠檬黄等,灰颜色则可以分为红灰、蓝灰、紫灰等。光谱中有红、橙、黄、绿、蓝、紫六种基本色光,人的眼睛可以 分辨出约180种不同色相的颜色。 颜色过滤是依照颜色的光谱吸收类别:短波长、长波长、混合波长;合并或形状裁贴;单色或变色的。 详见:http://baike.baidu.com/view/122648.htm 这个比较简单,只需要增加或减少每种颜色的值即可。 使图片中的另外两种颜色值减去255即可。比如,红色相中,保持红色值不变,而对绿色和蓝色分别减去255即可。 ![]() ![]() ![]() ![]()
2.Gamma(曲线) Gamma源于CRT(显示器/电视机)的响应曲线,即其亮度与输入电压的非线性关系。 Gamma 校正补偿了不同输出设备存在的颜色显示差异,从而使图像在不同的监视器上呈现出相同的效果。 详见 :http://baike.baidu.com/view/476857.htm ![]() ![]()
| ||||
|
|
3. Brightness(亮度)
一种颜色的范围,表示它与一系列从很昏暗(黑)到很明亮(耀眼)的无色彩的颜色之间的相似处。 取值范围为-255到255之间。 ![]() ![]()
4.Contrast(对比度) 对比比率是屏幕上同一点最亮时(白色)与最暗时(黑色)的亮度的比值,高的对比度意味着相对较高的亮度和呈现颜色的艳丽程度。 品质优异的LCD显示器面板和优秀的背光源亮度,两者合理配合就能获得色彩饱满明亮清晰的画面。 https://i-blog.csdnimg.cn/blog_migrate/74f965281535f6f000be36a79ca7e8fc.jpeg http://www.codeproject.com/KB/GDI-plus/ImageProcessing2/contrast.jpg
| ||||
|
|
5. Grayscale(灰度)
灰度使用黑色调表示物体。 每个灰度对象都具有从 0%(白色)到 100%(黑色)的亮度值。 使用黑白或灰度扫描仪生成的图像通常以灰度显示。 ![]() ![]()
6. Invert(底片效果) 用255减去每个色彩元素的值。例如,当前像素红色为00,则设置其值为FF(FF=255-0)。 ![]()
7. Resize(缩放) ![]() ![]()
| ||||||
|
|
8. Rotating and Flipping(镜像)
![]() ![]()
9. Crop(裁剪) ![]() ![]() ![]()
![]()
| ||||||
|
|
10. Inserting Text, Any Other Images and Shapes(插入文字或其它图像或形状)
![]() ![]() ![]() ![]() 插入文字
插入图像
插入图形
|