小時候我們都喜歡看連環畫,雖然是黑白色的,但是也能讓我們看的津津有味。
今天,我在這里介紹一種連環畫特效的實現方法,帶你回到那個記憶的年代。
那個時代彩色的書籍是很少的,連環畫幾乎都是黑白色的,而且有些發黃的年代感,這個也就是它的主要特點;還有一個特點就是,畫面對比鮮明;針對這兩點,我們可以實現了。
具體步驟如下:
1,假設圖像像素P(i,j)的RGB值為r,g,b;
按照如下公式計算新的RGB:
R = (|2*g-b+r|*r)>>8;
G = (|2*b-g+r|*r)>>8;
B =?(|2*b-g+r|*r)>>8;
注意:這一步是達到對比度增強的效果。
2,計算灰度值:
Gray = (R+G+B) / 3;
注意:這里直接使用了明度計算公式替代灰度化公式。
3,計算結果RGB:
Red = Gray + 10;
Green = Gray + 10;
Blue = Gray;
注意:此處Red,Green需要約束到[0,255]。
具體C#代碼如下:
~~~
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 red = 0, green = 0, blue = 0, gray = 0;
for (int j = 0; j < h; j++)
{
for (int i = 0; i < w; i++)
{
blue = (Math.Abs(pSrc[0] - pSrc[1] + pSrc[0] + pSrc[2]) * pSrc[1]) >> 8;
green = (Math.Abs(pSrc[0] - pSrc[1] + pSrc[0] + pSrc[2]) * pSrc[2]) >> 8;
red = (Math.Abs(pSrc[1] - pSrc[0] + pSrc[1] + pSrc[2]) * pSrc[2]) >> 8;
blue = Math.Max(0, Math.Min(blue, 255));
green = Math.Max(0, Math.Min(green, 255));
red = Math.Max(0, Math.Min(red, 255));
gray = (blue + green + red) / 3;
red = Math.Min(255, gray + 10);
pSrc[0] = (byte)gray;
pSrc[1] = (byte)red;
pSrc[2] = (byte)red;
pSrc += 4;
}
pSrc += offset;
}
srcBitmap.UnlockBits(srcData);
return srcBitmap;
}
~~~
效果圖如下:
[](http://www.zealpixel.com/data/attachment/portal/201509/07/131816mw5qe59pq1uwcqae.jpg)
原圖
[](http://www.zealpixel.com/data/attachment/portal/201509/07/131816kfgeifek7w7f3ke3.png)
連環畫效果圖
最后,給出一個完整的DEMO源碼下載連接:[http://www.zealpixel.com/forum.php?mod=viewthread&tid=135&extra=page%3D1](http://www.zealpixel.com/forum.php?mod=viewthread&tid=135&extra=page%3D1)
- 前言
- 序言
- 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圖層混合模式之明度模式