Vb.net 如何将两个图片框合并到一个固定位置
我有两个图片框,我只想将它们导出为一个图像。 我所需要的只是在它们的状态下导出它们,而不是创建一个.bmp。我试着把它作为表单的截图,但问题是有时候图片比表单大,截图只占表单可见的部分,我该怎么办 下面是屏幕截图的代码示例Vb.net 如何将两个图片框合并到一个固定位置,vb.net,winforms,screenshot,Vb.net,Winforms,Screenshot,我有两个图片框,我只想将它们导出为一个图像。 我所需要的只是在它们的状态下导出它们,而不是创建一个.bmp。我试着把它作为表单的截图,但问题是有时候图片比表单大,截图只占表单可见的部分,我该怎么办 下面是屏幕截图的代码示例 MenuStrip1.Hide() Dim bmpScreenshot As Bitmap = New Bitmap(Width, Height, PixelFormat.Format32bppArgb) ' Create a graphics object
MenuStrip1.Hide()
Dim bmpScreenshot As Bitmap = New Bitmap(Width, Height, PixelFormat.Format32bppArgb)
' Create a graphics object from the bitmap
Dim gfxScreenshot As Graphics = Graphics.FromImage(bmpScreenshot)
' Take a screenshot of the entire Form1
gfxScreenshot.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Me.Size, CopyPixelOperation.SourceCopy)
' Save the screenshot
SaveFileDialog1.ShowDialog()
SaveFileDialog1.Filter = "Image files (*.PNG)|*.PNG|(*.JPG*)|*.JPG*"
bmpScreenshot.Save(SaveFileDialog1.FileName)
MenuStrip1.Show()
以下是PictureBox1作为“背景”和PictureBox2作为PictureBox1“顶部”的较小图像时的外观:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
SaveFileDialog1.Filter = "Image files (*.PNG)|*.PNG|(*.JPG*)|*.JPG*"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim bmp As New Bitmap(PictureBox1.Image.Width, PictureBox1.Image.Height)
Using G As Graphics = Graphics.FromImage(bmp)
G.Clear(Color.Black)
G.DrawImage(PictureBox1.Image, New Point(0, 0))
G.DrawImage(PictureBox2.Image, PictureBox2.Location)
End Using
Select Case System.IO.Path.GetExtension(SaveFileDialog1.FileName).ToUpper
Case ".PNG"
bmp.Save(SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Png)
Case ".JPG"
bmp.Save(SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)
End Select
End If
End Sub
也许你在找?@Idle\u Mind我试过位图,但结果都不准确,我只想将2个picturebox导出为1个picturebox,而不是2个picturebox。他们的位置将是一样的,就像一个屏幕截图,但我想确保它涵盖了所有的图片,甚至是屏幕上看不到的部分(需要滚动才能看到)。对不起,我的英语不好。嗯……图片框是并排的,还是一个在另一个上面?它们有相同的尺寸吗?我们看不出你是如何得到“不准确”的结果的,除非你发布一个描述和/或一个屏幕截图来演示……也许可以将picturebox设置为autosize,然后获得它的高度和宽度。然后在截图之前相应地调整窗体的大小?不,有时候图片的高度太长,即使我调整窗体的大小也无法在屏幕上显示,这是我在尝试使用截图解决方案时遇到的主要问题。非常感谢你的努力。不幸的是,这不是我想要的,我会解释我想要的,希望我能安静地理解,物体1有一张图片,物体2,物体1是背景图片,物体2是运动图片,用户将在背景图像上设置对象2的位置,在他这样做之后,我想创建一个新的图片,就像对象1和对象2的现有状态的屏幕截图,但问题是,屏幕截图在某些情况下不起作用,还有其他方法吗?谢谢,我希望我没有那么复杂,一点问题也没有。你如何移动物体2?这听起来很像我已经发布的,使用了两个对DrawImage()的调用。这不会是问题,我只需要合并部分,这就是我被困的地方,对象2也是一个picturebox(它位于另一个的“顶部”)?如何移动对象2?