Photoshop也有类似的功能界面。

解决方案 »

  1.   

    // 画尺子       
    void DrawRuler (HDC hdc, int cx, int cy)        
    {
    int iAdj, i, iHeight;
        LOGFONT lf;
        TCHAR ch;
    iAdj = GetVersion () & 0x80000000 ? 0 : 1;
        // Black pen with 1-point width
        SelectObject (hdc, CreatePen (PS_SOLID, cx / 72 / 6, 0));
        // Rectangle surrounding entire pen (with adjustment)
        Rectangle (hdc, iAdj, iAdj, cx + iAdj + 1, cy + iAdj + 1);
        // Tick s
        for (i = 1 ; i < 96 ; i++)
        {
    if (i % 16 == 0) iHeight = cy /  2;         // inches
    else if (i %  8 == 0) iHeight = cy /  3 ;        // half inches
    else if (i %  4 == 0) iHeight = cy /  5 ;         // quarter inches
    else if (i %  2 == 0) iHeight = cy /  8 ;         // eighths
    else iHeight = cy / 12;            // sixteenths
    MoveToEx (hdc, i * cx / 96, cy, NULL);
    LineTo(hdc, i * cx / 96, cy - iHeight);
    }
    // Create logical font
    FillMemory (&lf, sizeof (lf), 0);
        lf.lfHeight = cy / 2;
        lstrcpy (lf.lfFaceName, TEXT ("Times New Roman"));
        SelectObject (hdc, CreateFontIndirect (&lf));
        SetTextAlign (hdc, TA_BOTTOM | TA_CENTER);
        SetBkMode(hdc, TRANSPARENT);
    // Display numbers
    for (i = 1 ; i <= 5 ; i++)
        {
    ch = (TCHAR) (i + '0');
    TextOut (hdc, i * cx / 6, cy / 2, &ch, 1);
    }
    // Clean up
    DeleteObject (SelectObject (hdc, GetStockObject (SYSTEM_FONT)));
        DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN)));        
    }