2010-02-25 76 views
1

我有两个BMP文件:VB.NET - 创建,调整和追加图像

  1. footer.bmp:200×200
  2. product.bmp:1000×1000

我想以产生具有200×500新bmp文件:

  1. 追加footer.bmp到新图像的底部 - 位置(0,300)
  2. 将product.bmp大小调整为200 x 300并放入(0,0)

如何使用VB.NET来执行此操作?

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

oGraphics = Graphics.FromImage(oBitmap) 

...?

回答

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