图像特效---怀旧风格滤镜
来源:互联网 发布:手机erp软件 编辑:程序博客网 时间:2024/04/30 08:37
怀旧风格滤镜
本文介绍一款怀旧风格滤镜特效的代码实现,这个滤镜效果跟前面我们介绍的老照片滤镜效果相比,听起来感觉没太大差,实际上老照片不仅 有怀旧的风格,更多了一些怀旧的痕迹,比如照片的褶皱,裂纹等等,而怀旧风格,只是一种发黄的颜色风格而已。
下面给出怀旧风格的代码:
private Bitmap FilterProcess(Bitmap a)
{
Bitmap srcBitmap = new Bitmap(a);
int w = srcBitmap.Width;
int h = srcBitmap.Height;
System.Drawing.Imaging.BitmapData srcData = srcBitmap.LockBits(new Rectangle(0, 0, w, h), System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
byte* pSrc = (byte*)srcData.Scan0;
int offset = srcData.Stride - w * 4;
int b = 0, g = 0, r = 0, gray = 0;
for (int j = 0; j < h; j++)
{
for (int i = 0; i < w; i++)
{
b = pSrc[0];
g = pSrc[1];
r = pSrc[2];
gray = (272 * r + 534 * g + 131 * b) / 1000;
pSrc[0] = (byte)(Math.Min(255, Math.Max(0, gray)));
gray = (349 * r + 686 * g + 168 * b) / 1000;
pSrc[1] = (byte)(Math.Min(255, Math.Max(0, gray)));
gray = (393 * r + 769 * g + 189 * b) / 1000;
pSrc[2] = (byte)(Math.Min(255, Math.Max(0, gray)));
pSrc += 4;
}
pSrc += offset;
}
srcBitmap.UnlockBits(srcData);
return srcBitmap;
}
代码很短,也很简单,效果却还 不错,下面看下效果:
原图
怀旧风格效果
程序demo: 点击打开链接
0 0
- 图像特效---怀旧风格滤镜
- 图像滤镜艺术---怀旧风格滤镜
- 图像特效之怀旧风格
- 图像滤镜特效(反色、浮雕、雕刻、怀旧、冰冻、暗调)(一)
- 图像特效---漫画滤镜
- 图像特效---连环画滤镜
- 图像特效---马赛克滤镜
- 图像特效---Wave滤镜
- 图像特效---Swirl滤镜
- 图像特效---水彩画滤镜
- 图像特效---旋转模糊滤镜
- 图像特效---(Instagram)1977滤镜
- 图像特效---暗调滤镜
- 图像特效---Oilpaint油画滤镜
- 图像特效---哈哈镜效果滤镜
- 图像特效---挤压(Pinch)滤镜
- 图像特效---球面(Spherize)滤镜
- 【安卓笔记】-----图片特效之怀旧风格
- HUSTOJ 1023: 最大值和最小值
- 近景闲侃
- Fedora 15 系统安装
- Hadoop 2.x伪分布式环境搭建测试
- 图
- 图像特效---怀旧风格滤镜
- uva 1585 - Score
- 剑指offer之面试题7用两个栈实现一个队列
- 摩托车继承自行车和机动车
- Effective C++----3rd Edition, Item 3:尽可能使用const
- Python单例模式
- 第九周第二项目——深复制与浅复制
- C语言基础——getchar()函数的作用
- 我的CSDN情结