2010-02-25 4 views
1

У меня есть два файла: BMPVB.NET - Создание, изменение размера и добавления изображения

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

Я хочу чтобы создать новый BMP-файл с 200 х 500:

  1. Append в footer.bmp в нижней части нового образа - позиция (0, 300)
  2. Измените размер продукта.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 
Смежные вопросы