1.stretchblt
2.paintpicture
3.beginpath,getpath,textout,然后变形.

解决方案 »

  1.   

    thriller(Born To Thrill) 兄:
    这几个API我没有用过,能否说的详细一点,有没有一个例子参考·!
      

  2.   

    楼上用图片复制是一种办法!
    还有一种办法
    即用CreateFont函数创建自定义字体
    再将创建的字体转为StdFond中的IFontDisp对象就可以作为普通字体来用了!
    还可以参照:
    http://www.csdn.net/expert/topic/578/578562.xml?temp=.7576258
      

  3.   

    对于使用IFontDisp
    我准备在“一起来讨论VB与COM......”这个贴子中给出例子
    当然现在代码还没有写!
      

  4.   

    Option Explicit   Private Declare Function CreateFontIndirect Lib "gdi32" Alias _
         "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
       Private Declare Function SelectObject Lib "gdi32" (ByVal hdc _
         As Long, ByVal hObject As Long) As Long
       Private Declare Function DeleteObject Lib "gdi32" (ByVal _
         hObject As Long) As Long
       Private Const LF_FACESIZE = 32   Private Type LOGFONT
         lfHeight As Long
         lfWidth As Long
         lfEscapement As Long
         lfOrientation As Long
         lfWeight As Long
         lfItalic As Byte
         lfUnderline As Byte
         lfStrikeOut As Byte
         lfCharSet As Byte
         lfOutPrecision As Byte
         lfClipPrecision As Byte
         lfQuality As Byte
         lfPitchAndFamily As Byte
         lfFaceName As String * LF_FACESIZE
       End Type   Sub Command1_Click()
         Dim font As LOGFONT
         Dim prevFont As Long, hFont As Long, ret As Long
         Const FONTSIZE = 20 ' Desired point size of font
         font.lfEscapement = 0    ' 180-degree rotation
         font.lfFaceName = "宋体" & Chr$(0) 'Null character at end
        ' Windows expects the font size to be in pixels and to
         ' be negative if you are specifying the character height
         ' you want.
         font.lfHeight = (FONTSIZE * -20) / Screen.TwipsPerPixelY
         font.lfWidth = (FONTSIZE * -20) * 0.8 * 0.5 / Screen.TwipsPerPixelX
         hFont = CreateFontIndirect(font)
         prevFont = SelectObject(Picture1.hdc, hFont)
         Picture1.CurrentX = 0
         Picture1.CurrentY = 0
         Picture1.Print "Rotated Text北京中企科源科技发展有限公司"
         ' Clean up by restoring original font.
    ''     ret = SelectObject(Picture1.hdc, prevFont)
    ''     ret = DeleteObject(hFont)
    ''     Picture1.CurrentY = Picture1.ScaleHeight / 2
    ''     Picture1.Print "Normal Text北京中企科源科技发展有限公司"
       End Sub