У меня есть два (на самом деле много) PNG (.png) изображений в моем приложении. Оба имеют прозрачные области здесь и там.Объединение двух изображений PNG в одно изображение с использованием .NET
Я хочу в своем приложении взять оба изображения, объединить их и отобразить результат в окне изображения. Позже я хочу сохранить результат с помощью кнопки.
До сих пор мне удалось найти два изображения и объединить их, но, похоже, прозрачность не будет работать. Я имею в виду, что если вы помещаете одно изображение поверх другого, в качестве результата видно только верхнее изображение, потому что, по-видимому, фон изображения представляет собой простой белый квадрат. Что это не так.
Вот немного моего кода:
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 = Результат ... Я не понимаю, почему изображение выглядит так ... – Voldemort
@Omega: Ваши изображения того же размера, что и растровое изображение, которое вы пишете? –
Да, растровое изображение «Результат» - 96x128, а два растровых изображения, которые я использую для тестирования, - 96x128. Тем не менее, окно с картинкой, похоже, увеличивает результат на 2 или что-то в этом роде. – Voldemort