移动坐标多打几次,并改变颜色,可产生立体效果
obj.print "txt"

解决方案 »

  1.   

    '我以前编的一个利用背景图生成立体文字程序,是否合用?
    '3个 PictureBox:
    'Picture1:打印字体
    'Picture2:图片,用来获取点(X,Y)上图象的颜色
    'Picture3:合成效果Private Sub Command1_Click()
        Dim Xp As Single, Yp As Single
        Dim X As Single, Y As Single
        Picture1.Cls
        Picture1.ForeColor = vbBlack
        Picture1.Font = "黑体"
        Picture1.FontBold = True
        Picture1.FontSize = 100
        Picture1.CurrentY = 100
        Picture1.Print "程序员"
        Picture1.ScaleMode = 3
        Picture2.ScaleMode = 3
        Picture3.ScaleMode = 3
    '    Picture2.Picture=loadpicture("")
        Set Picture3.Picture = Picture2.Picture
        
        For Xp = 1 To Picture1.Width
            For Yp = Picture1.Height To 1 Step -1
                If Picture1.Point(Xp, Yp) = vbBlack Then
                   Picture3.DrawWidth = 5
                   Picture3.PSet (Xp + 5, Yp + 5), vbBlack
                   
                   Picture3.DrawWidth = 4
                   Picture3.PSet (Xp, Yp), Picture2.Point(Xp, Yp)
                End If
            Next
            DoEvents
        Next
    End Sub
      

  2.   

    如果把picture3的图像去掉,即 set Picture3.picture=nothing ,就会得到填充图形的立体文字
      

  3.   

    改进一下后面部分:    Picture3.DrawWidth = 1
        For Xp = 1 To Picture1.Width
            For Yp = Picture1.Height To 1 Step -1
                If Picture1.Point(Xp, Yp) = vbBlack Then
                   Picture3.PSet (Xp + 8, Yp + 8), vbBlack
                   Picture3.PSet (Xp, Yp), Picture2.Point(Xp, Yp)
                End If
            Next
    '        DoEvents
        Next
      

  4.   

    同意楼上的
    但如果要真正得到Cool的效果是比较难的呀,绝不是几行代码就可以解决的.因为除了上面几位老兄说的问题,还存在反锯齿的问题.如果不考虑这个因素的话,文字的边缘应该是很恶心的.