怎样可以指定canvas.textout或者别的文本输出按照y轴方向啊?

解决方案 »

  1.   

    在 canvas.textout前把 字体改为 前面有@的一种字体
    比如Charset:=‘GB2312_CHARSET’ 什么的,字就倒了,这样可以不?
      

  2.   

    英文太差了,自己看,MSDN上的,不知道可不可以。(注:c++代码)
    You can rotate TrueType fonts at any angle. This is useful for labeling charts and other illustrations. The following example rotates a string in 10-degree increments around the center of the client area by changing the value of the lfEscapement and lfOrientation members of the LOGFONT structure used to create the font. RECT rc; 
    int angle; 
    HFONT hfnt, hfntPrev; 
    LPSTR lpszRotate = "String to be rotated.";
    HRESULT hr; 
    size_t * pcch;
     
    // Allocate memory for a LOGFONT structure. 
     
    PLOGFONT plf = (PLOGFONT) LocalAlloc(LPTR, sizeof(LOGFONT)); 
     
     
    // Specify a font typeface name and weight. 
     
    hr = StringCchCopy(plf->lfFaceName, 6, "Arial");
    if (FAILED(hr))
    {
    // TODO: write error handler
    }plf->lfWeight = FW_NORMAL; 
     
    // Retrieve the client-rectangle dimensions. 
     
    GetClientRect(hwnd, &rc); 
     
    // Set the background mode to transparent for the 
    // text-output operation. 
     
    SetBkMode(hdc, TRANSPARENT); 
     
    // Draw the string 36 times, rotating 10 degrees 
    // counter-clockwise each time. 
     
    for (angle = 0; angle < 3600; angle += 100) 

        plf->lfEscapement = angle; 
        hfnt = CreateFontIndirect(plf); 
        hfntPrev = SelectObject(hdc, hfnt);

    //
    // The StringCchLength call is fitted to the lpszRotate string
    //
    hr = StringCchLength(lpszRotate, 22, pcch);
    if (FAILED(hr))
    {
    // TODO: write error handler

        TextOut(hdc, rc.right / 2, rc.bottom / 2, 
            lpszRotate, *pcch); 
        SelectObject(hdc, hfntPrev); 
        DeleteObject(hfnt); 

     
    // Reset the background mode to its default. 
     
    SetBkMode(hdc, OPAQUE); 
     
    // Free the memory allocated for the LOGFONT structure. 
     
    LocalFree((LOCALHANDLE) plf); 
      

  3.   

    plf->lfEscapement = angle; 
        hfnt = CreateFontIndirect(plf); 
        hfntPrev = SelectObject(hdc, hfnt);
    主要是这几行,创建一个字体方向
      

  4.   

    谢谢楼上,8过有没有delphi的直接例子啊??
      

  5.   

    plf:TLogFont;plf:=TLogFont.create;plf.lfEscapement := angle; //designate the warp angle.