我已经使用以下内容为上传到网站的图片提供了深褐色效果:
Dim SepiaMatrix As New ColorMatrix(New Single()() {
New Single() {0.493F, 0.349F, 0.272F, 0, 0},
New Single() {0.769F, 0.686F, 0.534F, 0, 0},
New Single() {0.289F, 0.168F, 0.131F, 0, 0},
New Single() {0, 0, 0, 1, 0},
New Single() {0, 0, 0, 0, 0}})
...
Attributes.SetColorMatrix(SepiaMatrix)
...
Gfx.DrawImage(Image, New Rectangle(0, 0, Image.Width, Image.Height), 0, 0, Image.Width, Image.Height, GraphicsUnit.Pixel, Attributes)
我还想提供画笔和草图效果 [编辑:也就是说,当照片上传时,我的应用程序会对照片应用滤镜,使其看起来像画笔描边或交叉影线和“绘制”线 - 完全像艺术家素描。 ]
我见过This Question,但目前还不是很清楚解决方案是什么,我不希望安装Java IDE并浏览提到的非常先进/灵活的Java library。
有人可以提供指向优秀教程的链接(优先考虑.Net 3.5+,但任何语言都可以),或者为我提供我需要应用的基本步骤列表,以实现我的目标。
我曾经在PHP中找到了一个带有详细的逐步图像处理的Wiki,但从那时起就无法找到它。如果有人知道它,我相信它有一个草图效果的例子。该网站使用了一个以太空行星为主的蓝色图像作为测试用例。
非常感谢你的帮助。
答案 0 :(得分:3)
aForge项目是一个开源的库集,可以进行成像过滤器(以及许多其他事情)。他们有一个油漆过滤器(不完全是你要求的,但它会有所帮助:http://code.google.com/p/aforge/source/browse/trunk/Sources/Imaging/Filters/Other/OilPainting.cs。还有人创建了一个基于aForge库的PencilSketch过滤器,你可以在这里看到它的源代码: http://blendfilter.codeplex.com/SourceControl/changeset/view/67619#1218773。