借鉴chenjl1031发表的文本框控件Text1中显示位图是可以的,这需要用API函数BitBlt将位图从Picture1复制到Text1中,要先建立DC。代码作修改: Option Explicit Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Long) As Long Private Declare Function ReleaseDC Lib "user32.dll" (ByVal hwnd As Long, ByVal hdc As Long) As Long Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Private Const SRCCOPY As Long = &HCC0020Private Sub Command1_Click() '将TEXTBOX文本作为图象转到PICTUREBOX中 Dim TextDC As Long Dim Wpic As Long, Hpic As Long Wpic = Picture1.Width Hpic = Picture1.Height '取得文本框DC TextDC = GetDC(Text1.hwnd) Call BitBlt(Picture1.hdc, 0, 0, Wpic, Hpic, TextDC, 0, 0, SRCCOPY) End SubPrivate Sub Form_Load() Picture1.Width = Text1.Width Picture1.Height = Text1.Height Text1 = " 不显示删除回复显示所有回复显示星级回复显示得分回复 VB 有没方法把rtf 或txt文本内容转成BMP图片" End Sub在上述代码PICTUREBOX获得图象后保存就相对简单了.
Private Sub Command1_Click() Dim iStr As String Picture1.AutoRedraw = True Open "c:\001.txt" For Input As #1 While Not EOF(1) Line Input #1, iStr If Picture1.Width < Picture1.TextWidth(iStr) Then Picture1.Width = Picture1.TextWidth(iStr) End If Picture1.Height = Picture1.Height + Picture1.TextHeight(iStr) Picture1.Print iStr Wend Close #1 Picture1.Move 0, 0 SavePicture Picture1.Image, "c:\0000.bmp"
可以将其内容逐行或逐段读到字符串中,
然后用Form或PictureBox控件的Print方法显示
再使用窗口截屏功能保存到bmp文件也可以用VB调用Word.Application对象在Word里面打开相应txt或rtf文件,再将Word窗口截屏保存到bmp文件
Option Explicit
Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32.dll" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Const SRCCOPY As Long = &HCC0020Private Sub Command1_Click() '将TEXTBOX文本作为图象转到PICTUREBOX中
Dim TextDC As Long
Dim Wpic As Long, Hpic As Long
Wpic = Picture1.Width
Hpic = Picture1.Height
'取得文本框DC
TextDC = GetDC(Text1.hwnd)
Call BitBlt(Picture1.hdc, 0, 0, Wpic, Hpic, TextDC, 0, 0, SRCCOPY)
End SubPrivate Sub Form_Load()
Picture1.Width = Text1.Width
Picture1.Height = Text1.Height
Text1 = " 不显示删除回复显示所有回复显示星级回复显示得分回复 VB 有没方法把rtf 或txt文本内容转成BMP图片"
End Sub在上述代码PICTUREBOX获得图象后保存就相对简单了.
Private Sub Command1_Click()
Dim iStr As String
Picture1.AutoRedraw = True
Open "c:\001.txt" For Input As #1
While Not EOF(1)
Line Input #1, iStr
If Picture1.Width < Picture1.TextWidth(iStr) Then
Picture1.Width = Picture1.TextWidth(iStr)
End If
Picture1.Height = Picture1.Height + Picture1.TextHeight(iStr)
Picture1.Print iStr
Wend
Close #1
Picture1.Move 0, 0
SavePicture Picture1.Image, "c:\0000.bmp"
End Sub