VB.net 如何把Picturebox内所有控件(如LABLE)加上背影合成一个新的图片保存!
VB.net 如何把Picturebox内所有控件(如LABLE)加上背影合成一个新的图片保存!以前在VB6中可以Print方法,现在这个方法不能用了,好象没有了,还有其它可以解觉的办法吗,请各位帮忙.代码越简越好! --------------------编程问答-------------------- (1)按需要先设置Picturebox背景
(2)根据Picturebox区域坐标截屏 --------------------编程问答-------------------- 截屏参考代码:
--------------------编程问答-------------------- 谢谢!但是屏幕的大小会有变化啊,有用户屏大小可能是1024*768 有的可能是800*600.还有一个我试了,好象换不到只要Picturebox内的图象,保存下来就黑的一块. --------------------编程问答--------------------
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim memoryImage As Bitmap
Dim myGraphics As Graphics = Me.CreateGraphics()
Dim s As Size = New Size(1280, 1024)
memoryImage = New Bitmap(s.Width, s.Height, myGraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage)
memoryGraphics.CopyFromScreen(0, 0, 0, 0, s) '在此换成Picturebox的坐标
memoryImage.Save("aa.jpg")
End Sub
End Class
New Size(1280, 1024) 可以用变量的--当前屏幕分辨率.
不用换到Picturebox内,取全屏,根据Picturebox的坐标,复制CopyFromScreen屏幕的一个子区域. --------------------编程问答-------------------- Dim memoryImage As Bitmap
Dim myGraphics As Graphics = Me.CreateGraphics()
Dim s As Size = New Size(PictureBox1.Width, PictureBox1.Height)
memoryImage = New Bitmap(s.Width, s.Height, myGraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage)
memoryGraphics.CopyFromScreen(Me.Location.X + PictureBox1.Location.X + 4, Me.Location.Y + PictureBox1.Location.Y + 30, 0, 0, s) '在此换成Picturebox的坐标
memoryImage.Save("c:\aa.jpg")
代码是已更正好了,但是还是一个问题,当窗体是最小化,若着窗体不在屏幕时,还是拉不到完整的图片.不过还是谢谢楼上的. --------------------编程问答--------------------
应该是这样,用的是截屏的方法,截取的屏幕能够显示的区域。
补充:.NET技术 , VB.NET