从另一个picturebox在.NET中绘制图像并保留sizemode

从另一个picturebox在.NET中绘制图像并保留sizemode,.net,vb.net,.net,Vb.net,我正在尝试从.NET中的PictureBox复制一个图像,并将其绘制在另一个图像上。在初始图像上绘制图像时,如何在picturebox中保留图像的sizemode属性 先谢谢你 编辑:下面是我用来将PictureBox(pbImage)中的图像绘制到另一个PictureBox(pbContainer)中的图像上的代码。我将SizeMode设置为放大pbImage。我遇到的问题是,试图使用与pbImage中相同的外观绘制图像,我想知道是否有一种方法可以找出图像在picturebox中显示时的大小,

我正在尝试从.NET中的PictureBox复制一个图像,并将其绘制在另一个图像上。在初始图像上绘制图像时,如何在picturebox中保留图像的sizemode属性

先谢谢你

编辑:下面是我用来将PictureBox(pbImage)中的图像绘制到另一个PictureBox(pbContainer)中的图像上的代码。我将SizeMode设置为放大pbImage。我遇到的问题是,试图使用与pbImage中相同的外观绘制图像,我想知道是否有一种方法可以找出图像在picturebox中显示时的大小,即SizeMode=Zoom,而不是原始图像的大小

Private Function FlattenImage() As Bitmap
    Dim bmp As New Bitmap(pbContainer.Image, pbContainer.Size)
    Using insertImage As New Bitmap(pbImage.Image, pbImage.Width, pbImage.Height), g As Graphics = Graphics.FromImage(bmp)
        Dim insertLocation As New Point(pbImage.Left - pbContainer.Left, pbImage.Top - pbContainer.Top)
        g.DrawImage(insertImage, insertLocation)
        Return bmp
    End Using
End Function
我最终只是使用DrawToBitmap(),如下所示:

它可以根据我的需要工作。但我仍然有兴趣找出是否有一种方法可以获得图像的大小,因为它显示在一个使用各种尺寸模型的图片盒中,因为它在未来可能会很有用


谢谢。

例如,将PictureBox1.BackColor设置为透明,而不是:

Dim x As New Bitmap(PictureBox1.Width, PictureBox1.Height)
PictureBox1.DrawToBitmap(x, PictureBox1.DisplayRectangle)
然后,通过使用循环,可以从左、右、上和下计算区域。例如:

If Not (x.GetPixel(i, j) = Color.Transparent) Then
EdgeFound(i,j)
End If

为什么同时标记了C#和VB.NET?这让你看起来好像还没有编写任何代码来尝试实现这一点…@codesparkle-很多人都很高兴收到这两种语言的答案,但我同意,如果能看到一些代码作为起点,那就太好了point@codesparkle-我已经用我用来更好地解释问题的代码更新了帖子。@MattWilko-这就是原因。两种语言我都可以。我添加了我用来更好地解释问题的代码。
If Not (x.GetPixel(i, j) = Color.Transparent) Then
EdgeFound(i,j)
End If