Как я могу объединить два изображения в одно? - PullRequest
1 голос
/ 25 августа 2011

У меня есть изображение маски с непрозрачностью около 70%, и у меня есть другое изображение, которое загружается с сервера. Как я могу перерисовать их в одно изображение, у которого загруженное изображение лежит прямо под изображением маски? Я не хочу использовать холст, потому что я буду использовать изображение слияния для фона панорамы, и холст не будет работать.

Примерно так:

using (Graphics grfx = Graphics.FromImage(image))
{
    grfx.DrawImage(newImage, x, y)
}

Я попробовал это, но не повезло:

        BitmapImage bmp = new BitmapImage();
        BitmapImage bi = new BitmapImage();

        ImageBrush imageBrush = new ImageBrush();
        ImageBrush imageBrush2 = new ImageBrush();

        bi.UriSource = new Uri("Images/MainPage/mask_bg.png", UriKind.Relative);
        bmp.UriSource = new Uri("Images/MainPage/covertart_bg.jpg", UriKind.Relative);

        TranslateTransform translate = new TranslateTransform
        {
            X = 0,
            Y = 0
        };
        imageBrush.ImageSource = bmp;
        ImageCanvas canvas = new ImageCanvas();
        canvas.Background = imageBrush;

        WriteableBitmap w_bitmap = new WriteableBitmap(1065, 800);
        w_bitmap.Render(canvas, translate);
        w_bitmap.Invalidate();

        imageBrush2.ImageSource = w_bitmap;
        mainPanorama.Background = imageBrush2;

1 Ответ

1 голос
/ 25 августа 2011

Используйте метод Blit из WriteableBitmapEx проекта

...