Image Filter art --- Glow Filter light Filter, --- glowfilter
Glow Filter: The Glow Filter is A Filter that allows an image to emit light. Its algorithm is as follows: 1. Perform Gaussian blur on the source P to obtain image A; 2, combine P and A with each other by using the following formula: Result (x, y) = (basePixel (x, y) <= 128 )? (MixPixel (x, y) * basePixel (x, y)/128) :( 255-(255-mixPixel (x, y) * (255-basePixel (x, y, y)/128); Note: Result (x, y) belongs to [0-255]. The above is the principle of the light filter. The core code is as follows: private Bitmap GlowFilterProcess (Bitmap src) {Bitmap gaussBitmap = gf. apply (src, 15); Bitmap dst = new Bitmap (src); int w = dst. width; int h = dst. height; BitmapData dstData = dst. lockBits (new Rectangle (0, 0, w, h), ImageLockMode. readWrite, PixelFormat. format32bppArgb); BitmapData gaussData = gaussBitmap. lockBits (new Rectangle (0, 0, w, h), ImageLockMode. readOnly, PixelFormat. format32bppArgb ); Byte * pGauss = (byte *) gaussData. scan0; byte * pDst = (byte *) dstData. scan0; int offset = dstData. stride-w * 4; int gray; for (int j = 0; j Source image Glow Filter Finally put a complete C # Demo program: http://www.zealpixel.com/thread-65-1-1.html |
Copyright Disclaimer: This article is an original article by the blogger and cannot be reproduced without the permission of the blogger.