今天给大家实现的是Instagram中的Hudson滤镜,为什么介绍Instagram滤镜,原因很简单,Instagram本身就是一个巨大的成功,迄今为止,没有哪个软件的滤镜效果可以超越它的。
Hudson滤镜比较简单,主要是一个模板的寻找,这个模板,我也是在网上找到的,如果单单用PS去实现这个模板效果,我觉得我们是舍易取难,我们追求的是最后的效果,而不是过程呵呵。
首先看下对比效果:
![](https://box.kancloud.cn/2016-01-05_568b331cbe06b.jpg)
(a) Instagram Hudson效果
![](https://box.kancloud.cn/2016-01-05_568b331cd2bd5.jpg)
(b) PS效果图
![](https://box.kancloud.cn/2016-01-05_568b331d11cd4.jpg)
(c) C# 效果图
按照原则,先介绍PS实现过程:
1,打开原始图像以及模板图像,Instagram的目标效果图像:
![](https://box.kancloud.cn/2016-01-05_568b331d3f10d.jpg)
其中,图层0为原始图像,图层1为模板图像(模板图像与psd文件一起,我都会放到包里供大家下载使用),另外的Hudson即Instagram中的效果图像。
2,选中图层1,选择“叠加”图层混合模式,即得到效果图:
![](https://box.kancloud.cn/2016-01-05_568b331d7b2fd.jpg)
然后,我们介绍C#实现:
按照PS的过程,C#代码如下:
~~~
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Imaging;
namespace SpecialeffectDemo
{
unsafe class HudsonFilter
{
public HudsonFilter(Bitmap src,Bitmap bg_a)
{
this.srcBitmap = src;
this.map = bg_a;
}
private Bitmap srcBitmap = null;
private Bitmap map = null;
public Bitmap Apply()
{
if (srcBitmap != null)
{
Bitmap src = new Bitmap(srcBitmap);
int w = srcBitmap.Width;
int h = srcBitmap.Height;
BitmapData srcData = src.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
BitmapData mapaData = map.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
byte* p = (byte*)srcData.Scan0;
byte* pa = (byte*)mapaData.Scan0;
int r = 0, g = 0, b = 0;
for (int j = 0; j < h; j++)
{
for (int i = 0; i < w; i++)
{
b = p[0];
g = p[1];
r = p[2];
b = SpecialEffectClass.ModeSuperpositionEffect(b, pa[0]);
g = SpecialEffectClass.ModeSuperpositionEffect(g, pa[1]);
r = SpecialEffectClass.ModeSuperpositionEffect(r, pa[2]);
p[0] = (byte)b;
p[1] = (byte)g;
p[2] = (byte)r;
p += 4;
pa += 4;
}
p += srcData.Stride - w * 4;
pa += mapaData.Stride - w * 4;
}
src.UnlockBits(srcData);
map.UnlockBits(mapaData);
return src;
}
else
{
return null;
}
}
}
}
~~~
界面效果:
![](https://box.kancloud.cn/2016-01-05_568b331dadf41.jpg)
最后给出代码和PS实现过程的包,免费下载地址[http://download.csdn.net/detail/trent1985/8177015](http://download.csdn.net/detail/trent1985/8177015)
以上就是Hudson这款滤镜的实现过程,希望大家喜欢,有什么问题可以给我留言或者邮件:
邮箱[dongtingyueh@163.com](mailto:dongtingyueh@163.com) QQ:1358009172
**最后,分享一个专业的图像处理网站(微像素),里面有很多源代码下载:**
[http://www.zealpixel.com/portal.php](http://www.zealpixel.com/portal.php)
- 前言
- 序言
- Brannan滤镜
- 编码基础(Photoshop基础变换的代码实现)
- Toaster滤镜
- Hudson滤镜(Instagram)
- 暴雨滤镜
- 大雪滤镜
- 图像滤镜实现万能方法研究
- 大雾效果滤镜
- 连环画滤镜
- 暗调滤镜
- 怀旧风格滤镜
- (Nostalgla Filter)老照片滤镜
- (Punch Filter)交叉冲印滤镜
- (Lightleaks Filter)漏光滤镜
- 漫画滤镜
- LOMO Filter
- Glow Filter发光滤镜
- (Instagram)1977滤镜
- (Sketch Filter)素描滤镜
- 水彩画滤镜
- 图像光照效果滤镜
- Oilpaint油画滤镜
- Swirl滤镜
- Wave滤镜
- 球面(Spherize)滤镜
- 挤压(Pinch)滤镜
- 旋转模糊滤镜
- 霓虹、浮雕、木刻滤镜
- 图像滤镜晕影调节算法研究
- PS平均(滤镜-模糊-平均)效果
- Photoshop实现Instagram Amaro滤镜特效
- Photoshop实现Instagram之Nashville滤镜
- Photoshop实现Instagram之Sierra滤镜
- Photoshop实现Instagram之Mayfair滤镜效果
- ZPhotoEngine超级算法库
- 乐高像素拼图特效
- 乐高像素拼图特效滤镜的代码实现
- 保留细节的磨皮滤镜之PS实现
- 保留细节的磨皮之C#程序实现
- 流行艺术风滤镜特效PS实现
- PS图层混合模式之明度模式