example_canvas_vuggy.cpp

文字の描画サイズ
文字の描画サイズ取得のサンプルコード
canvas_vuggy.png

文字の描画サイズ

void DlgSample::Draw(SGRect region)
{
    SGDialog::Draw(region);

    SGCanvasDraw cd( this );
    if( cd.CvBegin() ){

        cd.CvSelectFont("Sans", FALSE,FALSE);

        int ascender,width,height;
        cd.CvGetTextExtents("Vuggy",90,ascender,width,height);
        cd.CvColor(255, 200, 200);
        cd.CvArc(25, 150, 10, 0, 360);
        cd.CvFill();
        cd.CvSetLineWidth(6);
        cd.CvMoveTo(25, 150);
        cd.CvLineToRel(0, -ascender);
        cd.CvLineToRel(width, 0);
        cd.CvLineToRel(0, height);
        cd.CvLineToRel(-width, 0);
        cd.CvLineToRel(0, ascender-height);
        cd.CvStroke();

        cd.CvSetLineWidth(3);
        cd.CvMoveTo(25, 150);
        cd.CvLineToRel(width, 0);
        cd.CvStroke();

        cd.CvColor(0, 0, 0);
        cd.CvMoveTo(25, 150);
        cd.CvShowText("Vuggy",90);

        cd.CvEnd();
    }
}

PlusG リファレンスマニュアル Ver 2.0.0