Posterize

 

The FilterPosterizing function/method of the BiFilter DLL/OCX can be used to posterize an image to reduce the color levels.

 

 

[C++]

 

/* Posterizing an image */

 

#include “BiFilter.h”

#include “BiImage.h”

 

HDIB hDibNew;

 

/* 1. parameter: Handle of the DIB to filter

   2. parameter: Level

   3. parameter: Show progress

   4. parameter: Handle of parent window */

 

hDibNew = FilterPosterizing(hDib, 20, DISPLAY_BOTH,

AfxGetMainWnd()->m_hWnd);

 

if (!hDibNew)

{

            // Error

}

 

[VB]

 

‘ Posterizing an image

 

Dim BIFilterObj as Object

Dim hDibNew as Long

 

Set BIFilterObj = CreateObject("BIFILTER.BIFilterCtrl.1")

 

‘ 1. parameter: Handle of the DIB to filter

‘ 2. parameter: Level

‘ 3. parameter: Show progress

‘ 4. parameter: Handle of parent window

 

hDibNew = BIFilterObj.FilterPosterizing(hDib, 20, _

DispBoth, hWnd)

 

Set BIFilterObj = Nothing

 

If hDibNew = 0 Then

            ‘ Error

End If

 

[C#]

 

/* Posterizing an image */

 

int hDibNew;

 

/* 1. parameter: Handle of the DIB to filter

   2. parameter: Level

   3. parameter: Show progress

   4. parameter: Handle of parent window */

 

hDibNew = BiFilter.FilterPosterizing(hDib, 20, Convert.ToInt16(BIFILTERLib.enumDisplayModes.DispBoth),

Handle.ToInt32());

 

if (hDibNew == 0)

{

            // Error

}