📄 imshape.hpp
字号:
// $masm\imshape.hpp 1.5 milbo$ routines for drawing shapes, profiles, and images// Warning: this is raw research code -- expect it to be quite messy.// milbo durban dec05#if !defined(imshape_hpp)#define imshape_hpp#define IM_NO_CONNECT_DOTS 0 // values for fConnectTheDots#define IM_CONNECT_DOTS 1#define IM_NO_ANNOTATE 0 // values for fAnnotate#define IM_ANNOTATE 1#define IM_NO_WHISKERS 0 // values for fWhiskers#define IM_WHISKERS 1#define IM_NO_TRANSPARENT 0 // values for fTransparent#define IM_TRANSPARENT 1#define IM_NO_CROP_TO_FACE 0 // values for fCropToFace#define IM_CROP_TO_FACE 1#define IM_NO_DRAW_CIRCLES 0 // values for fDrawCircleAtLandmark#define IM_DRAW_CIRCLES 1void SetImagePoint(RgbImage &Img, unsigned Red, unsigned Green, unsigned Blue, int ix, int iy, bool fTransparent=false);void ImageWhiskers(RgbImage &Img, const SHAPE &Shape, unsigned Color, double Scale, double ProfAngle, bool fTransparent, unsigned ProfType, const tLand Lands[], const SHAPE *pAlignedAvShape);void DrawShape(RgbImage &Img, // io const SHAPE &Shape, unsigned Color, double Scale=1.0, // in bool fConnectTheDots=false, bool fAnnotate=false, // in bool fWhiskers=false, unsigned ProfType=0, bool fTransparent=false, // in const tLand Lands[]=NULL, const SHAPE *pAlignedAvShape=NULL, // in bool fDrawCircleAtLandmark=false, // in: current implementation is very slow unsigned ConnectDotsColor=-1); // in: color used to connect dots, -1 to use same as dot colorvoid DrawShape1(RgbImage &Img, // out const Image &InImg, const SHAPE &Shape1, const SHAPE *pShape2, unsigned Color, double Scale=1.0, // in bool fConnectTheDots=false, bool fAnnotate=false, // in bool fWhiskers=false, unsigned ProfType=0, bool fTransparent=false, bool fCropToFace=false, // in const tLand Lands[]=NULL, const SHAPE *pAlignedAvShape=NULL, // in bool fDrawCircleAtLandmark=false); // in: current implementation is very slowvoid ImageAllShapes(const SHAPE aShapes[], Image aImages[], char *saTags[], int nShapes, double Scale, bool fCropToFace, const SHAPE &AvShape, const tLand Lands[]);#define IM_NO_WIDE_MARGINS 0 // for fWideMargins parameter#define IM_WIDE_MARGINS 1void CropImageToFace(RgbImage &Img, const SHAPE &Shape, double Scale=1.0, bool fWideMargins=false);void CropImageToShape (RgbImage &Img, const SHAPE &Shape);void BresenhamDrawLine(RgbImage &Img, unsigned Red, unsigned Green, unsigned Blue, int x0, int y0, int x1, int y1, bool fTransparent=false);int iGetFontSize(unsigned ImageBits);double GetScaleOut(unsigned ImageBits, int iLev);#endif // imshape_hpp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -