ultimatepp/bazaar/PixRaster/Lept-Rotate.cpp
micio db3a6a0036 Start of Leptonica library support
git-svn-id: svn://ultimatepp.org/upp/trunk@1554 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2009-09-06 15:49:56 +00:00

57 lines
1.2 KiB
C++

#include "PixRaster.h"
NAMESPACE_UPP
// Rotates image (2-4-8 or 32 bpp) about center.
bool PixRaster::RotateAM(double angle, BringInModes incolor, int page)
{
if(IsEmpty())
return false;
page = getTruePage(page);
PIX *sPix = pixaGetPix(pixa, page, L_CLONE);
PIX *dPix = pixRotateAM(sPix, angle, incolor);
pixDestroy(&sPix);
if(!dPix)
return false;
AddPIX(dPix, PIXRASTER_CLONE);
pixDestroy(&dPix);
SeekPage(PIXRASTER_LASTPAGE);
return true;
}
bool PixRaster::RotateAMColor(double angle, int incolor, int page)
{
if(IsEmpty())
return false;
page = getTruePage(page);
PIX *sPix = pixaGetPix(pixa, page, L_CLONE);
PIX *dPix = pixRotateAMColor(sPix, angle, incolor);
pixDestroy(&sPix);
if(!dPix)
return false;
AddPIX(dPix, PIXRASTER_CLONE);
pixDestroy(&dPix);
SeekPage(PIXRASTER_LASTPAGE);
return true;
}
bool PixRaster::RotateAMGray(double angle, int incolor, int page)
{
if(IsEmpty())
return false;
page = getTruePage(page);
PIX *sPix = pixaGetPix(pixa, page, L_CLONE);
PIX *dPix = pixRotateAMGray(sPix, angle, incolor);
pixDestroy(&sPix);
if(!dPix)
return false;
AddPIX(dPix, PIXRASTER_CLONE);
pixDestroy(&dPix);
SeekPage(PIXRASTER_LASTPAGE);
return true;
}
END_UPP_NAMESPACE