我在我的應用程序中有兩個(實際上很多)PNG(.png)圖像。這兩處都有透明區域。使用.NET將兩個PNG圖像組合成一個圖像
我想在我的應用程序中將兩個圖像合併起來,並將結果顯示在圖片框中。稍後我想通過按鈕保存結果。
到目前爲止,我設法找到兩個圖像並將它們結合起來,但它似乎透明的東西不會工作。我的意思是,如果您將一張圖片放在另一張圖片上,則只有頂部圖片可見,因爲顯然圖片的背景是純白色的框。它不是。
這裏有點我的代碼:
Dim Result As New Bitmap(96, 128)
Dim g As Graphics = Graphics.FromImage(Result)
Dim Name As String
For Each Name In BasesCheckList.CheckedItems
Dim Layer As New Bitmap(resourcesPath & "Bases\" & Name)
For x = 0 To Layer.Width - 1
For y = 0 To Layer.Height - 1
Result.SetPixel(x, y, Layer.GetPixel(x, y))
Next
Next
Layer = Nothing
Next
resourcesPath
是通向我的資源文件夾中。 Bases
是其中的一個文件夾。而Name
是圖片的名稱。
謝謝,除了一件事之外,它似乎可以工作:我用於預覽所得圖像的圖片框似乎顯示圖像的「調整大小」版本。最後,我用PictureBox.Image = Result ....我不明白爲什麼圖像顯示那樣... – Voldemort 2011-01-05 22:22:06
@Omega:您的圖像與您正在寫入的位圖大小相同嗎? – 2011-01-05 22:24:48
是的,位圖「結果」是96x128,我用來測試的兩個位圖也是96x128。然而,圖片框似乎放大了2的結果... – Voldemort 2011-01-05 22:37:20