VB.NET - 创建,调整大小和附加图像

时间:2010-02-25 16:12:14

标签: vb.net image resize

我有两个bmp文件:

  1. footer.bmp:200 x 200
  2. product.bmp:1000 x 1000
  3. 我想创建一个200 x 500的新bmp文件:

    1. 将footer.bmp附加到新图像的底部 - 位置(0,300)
    2. 将product.bmp的大小调整为200 x 300并定位到(0,0)
    3. 如何使用VB.NET执行此操作?

      Dim oBitmap As New Bitmap(200, 500)
      Dim oGraphics As Graphics
      
      oGraphics = Graphics.FromImage(oBitmap)
      

      ......?

1 个答案:

答案 0 :(得分:0)

Dim Path As String = "C:\Delivery\"
Dim Height As Integer = 400

Using oFooter As System.Drawing.Image = Drawing.Image.FromFile(Path + "Footer.png")

    Dim Width As Integer = oFooter.Width

    Using oBitmap As New Bitmap(Width, Height)

        Using oGraphic As Graphics = Graphics.FromImage(oBitmap)

            Using oBrush As New SolidBrush(Color.White)
                oGraphic.FillRectangle(oBrush, 0, 0, Width, Height)
            End Using

            oGraphic.DrawImage(oFooter, 0, 300)

            Using oProduto As System.Drawing.Image = Drawing.Image.FromFile(Path + "Produto.png")

                Dim pWidth As Integer = oProduto.Width
                Dim pHeight As Integer = oProduto.Height

                If pWidth > Width Then
                    pHeight = CInt(pHeight * Width / pWidth)
                    pWidth = Width
                End If

                If pHeight > Height Then
                    pWidth = CInt(pWidth * Height / pHeight)
                    pHeight = Height
                End If

                Dim x As Integer = CInt((Width - pWidth) / 2)
                Dim y As Integer = CInt((Height - oFooter.Height - pHeight) / 2)

                oGraphic.DrawImage(oProduto, x, y, pWidth, pHeight)

            End Using

            oBitmap.Save(Path + "Final.jpg", Imaging.ImageFormat.Jpeg)

        End Using

    End Using

End Using