我在PictureBox中放上了一个标签label1,但保存为图像时只保存了PictureBox中的图像内容,标签内容无法连同PictureBox控件的内容一起保存,谁有办法解决?
解决方案 »
- VB系统错误&H8007065E
- Webbrowser控件在XP和WIN7下的问题
- 高手来吧----------VB Treeview 如何插入字符串而不是节点?
- 有谁有托盘控件的实现方法?(100分!!)
- 如果按住了ctrl键并双击了grid控件(或Text控件),就执行一个函数,VB如何实现?
- 怎样在ActiveReport的设计态的ARDesigner中加入自己做的阿ActiveX控件。
- 请问SQL查询语句中含有特殊字符如何解决?
- 一个关于浏览器的问题
- 关于ADO的两个问题*^_^*
- 请问怎样检测出一个目录中几个子目录和几个文件?谢谢!
- 如何将Combo中的内容计算到Text中?
- QQ连连看外挂 VB源码 发布了
With Picture1
.AutoRedraw = True
.CurrentX = Label1.Left
.CurrentY = Label1.Top
.Font = Label1.Font
.ForeColor = Label1.ForeColor
End With
Picture1.Print Label1.Caption
SavePicture Picture1.Image, "d:\1.bmp"
End Sub变通方法
效果图:
http://p.blog.csdn.net/images/p_blog_csdn_net/cbm666/366646/o_c9147b8901c52eb00e244414.jpg
您有代码,也请贴出来让大家开开眼界啊
不知您的label有何特别,难道就没有变通方法了?
Option Explicit
Dim lngOldX As Long, lngOldY As Long, lngUpX As Long, lngUpY As Long
Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
Private Declare Function BitBlt Lib "gdi32" (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 Sub Command1_Click()
Picture2.Cls
Picture1.Line (lngOldX, lngOldY)-(lngUpX, lngUpY), , B
BitBlt Picture2.hDC, 0, 0, lngUpX - lngOldX, lngUpY - lngOldY, Picture1.hDC, lngOldX, lngOldY, SRCCOPY
End SubPrivate Sub Form_Load()
Picture1.DrawMode = 10
Picture1.DrawStyle = 2
End SubPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
lngOldX = X: lngOldY = Y
End SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static sOldX As Long, sOldY As Long
If Button = vbLeftButton Then
Picture1.Line (lngOldX, lngOldY)-(X, Y), , B
Picture1.Line (lngOldX, lngOldY)-(sOldX, sOldY), , B
End If
sOldX = X: sOldY = Y
End SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
lngUpX = X
lngUpY = Y
End Sub
Private Declare Function BitBlt Lib "gdi32" (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 Sub Form_Activate()
Picture1.AutoRedraw = False
'Set Label1.Container = Picture1
With Picture2
.AutoRedraw = True
.Width = Picture1.Width
.Height = Picture1.Height
.Move Screen.Width
End With
End SubPrivate Sub Picture1_Click()
Call BitBlt(Picture2.hdc, 0, 0, Picture1.Width, Picture1.Height, Picture1.hdc, 0, 0, vbSrcCopy)
SavePicture Picture2.Image, "c:\tt.bmp"
Msgbox "保存完成"
End Sub