Introduction
PCL is a set of powerful image manipulation library for C++, its a kernel of PhoXo (a 32 bit image manipulation software).
Main features
- platform independent code
- region selection
- tens of image effect
- Undo/Redo support
- multiple-layer support
- handle progress support
- histogram
- image file read/write
- text layer (now using WIN32-GDI+ to render anti-aliasing text, future will use FreeType to render)
Using the code
The package includes three example, and detailed compile step.
This is part code in example - simple_imgobj :
FCSinglePixelProcessBase * pEffect = NULL ;
switch (atoi(szInput))
{
case 1 : pEffect = new FCPixelInvert() ; break ;
case 2 : pEffect = new FCPixelGrayscale() ; break ;
case 3 : pEffect = new FCPixelThreshold(100) ; break ;
case 4 : pEffect = new FCPixelFlip() ; break ;
case 5 : pEffect = new FCPixelEmboss(2) ; break ;
case 6 : pEffect = new FCPixelSplash(15) ; break ;
case 7 : pEffect = new FCPixelMosaic(10) ; break ;
case 8 : pEffect = new FCPixelOilPaint(7) ; break ;
case 9 : pEffect = new FCPixel3DGrid(16,100) ; break ;
case 10 : pEffect = new FCPixelWhirlPinch(LIB_PI/2.0,10) ; break ;
case 11 :
{
RECT rcEllipse = {0,0,imgHandle.Width(),imgHandle.Height()} ;
RGBQUAD crStart = {255,255,255}, crEnd = {255,0,0} ;
pEffect = new FCPixelGradientRadial(rcEllipse,crStart,crEnd) ;
}
break ;
case 12 : pEffect = new FCPixelGamma(2) ; break ;
case 13 : pEffect = new FCPixelRotate90() ; break ;
case 14 : pEffect = new FCPixelRibbon(35,25) ; break ;
case 15 : pEffect = new FCPixelHalftoneM3() ; break ;
default :
printf ("choice invalid. quit do nothing.\n") ;
return 0 ;
}
FCShowProgress showPro ;
printf ("\ncurrent progress : ") ;
imgHandle.SinglePixelProcessProc (*pEffect, &showPro) ;
printf ("\n\n") ;
delete pEffect ;
History
Version 2.1
| 12. July 2004
| Initial publication
|
---|
graduate from University of Science and Technology of China at 2002.
Now I work at www.phoxo.com.