水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水  
水水水水水水水水水水水水水水水水水水水水水水水水灌灌灌灌灌灌灌灌灌水水水水  
水水水水水水水水水水水水水水水水水水灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水  
水水水水水水水水水水水水水水水灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水  
水水水水水水水水水水水灌灌灌灌水灌灌灌灌灌灌灌灌灌灌灌水水水水水水水水水水  
水水水水水水水水灌灌灌灌灌灌灌水灌灌灌水水灌灌灌灌灌水水水水水水水水水水水  
水水水灌灌灌灌灌灌灌灌灌灌灌灌水水水水水水灌灌灌灌水水水水水水水水水水水水  
水灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水水水灌灌灌灌水水水水水水水水水水水水  
水灌灌灌灌灌灌灌灌灌灌灌灌水水水水水水水灌灌灌灌灌灌灌灌灌灌灌水水水水水水  
水灌灌灌灌灌灌灌灌灌灌灌灌水水水水水水灌灌灌灌灌灌灌灌灌灌灌灌灌灌水水水水  
水水灌灌灌灌灌灌灌灌灌灌水水水水水灌灌灌灌灌灌水水水灌灌灌灌灌灌灌水水水水  
水水水水水水水水灌灌灌灌水水水水水灌灌灌灌水水水水水水灌灌灌灌灌水水水水水  
水水水水水水水水灌灌灌灌水水水水灌灌灌灌水水灌灌水水水灌灌灌灌灌水水水水水  
水水水水水水水水灌灌灌灌水水水水灌灌灌灌水水灌灌灌水水灌灌灌灌灌水水水水水  
水水水水水水水水灌灌灌灌水水水水灌灌灌灌水水灌灌灌水水灌灌灌灌灌水水水水水  
水水水水水水水水灌灌灌灌水水水水灌灌灌灌水灌灌灌灌水水灌灌灌灌灌水水水水水  
水水水水水水水水灌灌灌灌水水水水灌灌灌灌水灌灌灌灌水水灌灌灌灌灌水水水水水  
水水水水水水水水灌灌灌灌水水水水灌灌灌灌水灌灌灌灌水水灌灌灌灌灌水水水水水  
水水水水水水水水灌灌灌灌水水水水灌灌灌灌水灌灌灌灌水水灌灌灌灌灌水水水水水  
水水水水水水水水灌灌灌灌水水水水灌灌灌水水灌灌灌灌水水灌灌灌灌灌水水水水水  
水水灌灌水水水灌灌灌灌灌水水水水灌灌灌水水灌灌灌水水水灌灌灌灌灌水水水水水  
水水灌灌灌灌灌灌灌灌灌灌水水水水水灌灌水水灌灌水水水水灌灌灌灌灌水水水水水  
水水水灌灌灌灌灌灌灌灌灌水水水水水水水水灌灌灌水水水水灌灌灌灌水水水水水水  
水水水水水灌灌灌灌灌灌灌水水水水水水水水灌灌灌水水水灌灌灌灌水水水水水水水  
水水水水水水灌灌灌灌灌灌水水水水水水水灌灌灌灌水水灌灌灌灌灌水水水水水水水  
水水水水水水水水水灌灌灌水水水水水水灌灌灌灌灌水水水灌灌灌灌灌灌灌水水水水  
水水水水水水水水水水水水水水水水灌灌灌灌灌灌水水水水水灌灌灌灌灌灌水水水水  
水水水水水水水水水水水水水水水灌灌灌灌灌灌水水水水水水灌灌灌灌灌灌灌水水水  
水水水水水水水水水水水水水水灌灌灌灌灌水水水水水水水水水灌灌灌灌灌灌水水水  
水水水水水水水水水水水水水灌灌灌灌灌水水水水水水水水水水水灌灌灌灌水水水水  
水水水水水水水水水水水水灌灌灌水水水水水水水水水水水水水水水灌灌灌水水水水  
 '就是这样的,呵呵 给个思路吧

解决方案 »

  1.   

    不用读字库的。
    只要在一个窗体上用TextOut或其它的方法写上"顶"字,就能够通过读象素的方式得到“顶”字的点阵了。
      

  2.   

    Option Explicit
    Dim x, y, i, j As Integer
    Dim txt As String
    Dim fnt As Integer
    Dim dd As String
    Dim str(50, 50) As Long
    Dim str1(50, 50) As String * 1
    Dim str11(50) As String
    Dim red As Integer
    Dim green As Integer
    Dim blue As Integer
    Dim c As Long
    Dim graycolor As Long
    Dim x0 As Integer
    Dim y0 As Integer
    Dim dw As Integer
    Dim txt1 As StringPublic Function prnt(x As Variant, y As Variant, fnt As Variant, txt As Variant)
        Picture1.CurrentX = x
        Picture1.CurrentY = y
        Picture1.FontSize = fnt
        Picture1.Print txt
    End FunctionPrivate Sub Command1_Click()
        x = 0: y = 0
        txt = "灌"
        fnt = 300
        dd = prnt(x, y, fnt, txt)
    '转换
        For x0 = 0 To Picture1.Width - 50 Step 140
            For y0 = 0 To Picture1.Height - 50 Step 140
                c = Picture1.Point(x0 + 50, y0 + 50)
                red = (c And &HFF)
                green = (c And 62580) / 256
                blue = (c And &HFF00) / 65536
                graycolor = (red + green + blue) / 3
                dw = graycolor
                If dw = 192 Then
                    str1((x0 + 50) / 140, (y0 + 50) / 140) = "水"
                Else
                    str1((x0 + 50) / 140, (y0 + 50) / 140) = "灌"
                End If
                DoEvents
            Next
        Next
    For i = 1 To Picture1.Width \ 140
        For j = 1 To Picture1.Height \ 140
            str11(i) = str11(i) + str1(j, i)
        Next
    Next
    For i = 1 To Picture1.Height \ 140
        Print str11(i)
    Next
    For i = 1 To Picture1.Height \ 140
        txt1 = txt1 & str11(i) & Chr(13) & Chr(10)
        Text1 = Text1 & str11(i) & Chr(13) & Chr(10)Next
    Open "C:\shiyan.txt" For Output As #1
    Print #1, txt1
    Close
    End SubPrivate Sub Command2_Click()
        Text1.Visible = True
    End SubPrivate Sub Form_Load()
    Picture1.Height = 6735
    Picture1.Width = 5895
    Text1 = ""
    End Sub
      

  3.   

    zdingyun:你的这个字号要到300才很清晰,能不能让它字号小的时候也清晰些啊?
      

  4.   

    字号改为26:
    Option Explicit
    Dim x, y, i, j As Integer
    Dim txt As String
    Dim fnt As Integer
    Dim dd As String
    Dim str(90, 90) As Long
    Dim str1(90, 90) As String * 1
    Dim str11(90) As String
    Dim red As Integer
    Dim green As Integer
    Dim blue As Integer
    Dim c As Long
    Dim graycolor As Long
    Dim x0 As Integer
    Dim y0 As Integer
    Dim dw As Integer
    Dim txt1 As String
    Public Function prnt(x As Variant, y As Variant, fnt As Variant, txt As Variant)
        Picture1.CurrentX = x
        Picture1.CurrentY = y
        Picture1.FontSize = fnt
        Picture1.Print txt
    End FunctionPrivate Sub Command1_Click()
        x = 20: y = 20
        txt = "灌"
        fnt = 26
        dd = prnt(x, y, fnt, txt)
        For x0 = 0 To Picture1.Width - 70 Step 15
            For y0 = 0 To Picture1.Height - 70 Step 15
                c = Picture1.Point(x0, y0)
                red = (c And &HFF)
                green = (c And 62580) / 256
                blue = (c And &HFF00) / 65536
                graycolor = (red + green + blue) / 3
                dw = graycolor
                Text2 = x0 \ 15 & " " & y0 \ 15
                Text1 = dw
                If dw = 192 Then
                    str1(x0 \ 15, y0 \ 15) = "水"
                Else
                    str1(x0 \ 15, y0 \ 15) = "灌"
                End If
                DoEvents
            Next
        Next
        For i = 1 To Picture1.Width \ 15
            For j = 1 To Picture1.Height \ 15
                str11(i) = str11(i) + str1(j, i)
            Next
        Next
        For i = 1 To Picture1.Height \ 15
            Print str11(i)
        Next
        For i = 1 To Picture1.Height \ 15
            txt1 = txt1 & str11(i) & Chr(13) & Chr(10)
            'Text1 = Text1 & str11(i) & Chr(13) & Chr(10)
        Next
        Open "C:\shiyan.txt" For Output As #1
            Print #1, txt1
        Close
    End SubPrivate Sub Form_Load()
        Picture1.Height = 600
        Picture1.Width = 600
    End Sub
      

  5.   

    If dw = 192 Then
        str1(x0 \ 15, y0 \ 15) = "水"
    Else
        str1(x0 \ 15, y0 \ 15) = "灌"
    End If请注意dw = 192是VB6.0在WIN98下的缺省色的RGB平均值.
    在WINXP及VB6.0下请改为:If dw = 226 Then
        str1(x0 \ 15, y0 \ 15) = "水"
    Else
        str1(x0 \ 15, y0 \ 15) = "灌"
    End If