Объедините несколько изображений в одно большое изображение с помощью WPF - PullRequest
0 голосов
/ 16 ноября 2010

Как я могу объединить список RenderTargetBitmaps в один большой RenderTargetBitmap?

Я создаю список RenderTargetBitmaps путем рендеринга нескольких визуальных элементов. Затем все эти RenderTargetBitmaps необходимо объединить в один большой текстурный атлас (спрайт-лист).

Ответы [ 2 ]

0 голосов
/ 19 ноября 2010

Я обнаружил, что в WPF есть класс WriteableBitmap с методом WritePixels, который можно использовать в сочетании с методом CopyPixels RenderTargetBitmaps.Метод WritePixels позволяет указать область, в которую копируются пиксели, на WriteableBitmap, поэтому я думаю, что это должно работать по крайней мере теоретически.

Прежде чем я узнал о классе WriteableBitmap, я уже переместил логику упаковки.Визуальные объекты уже размещены (при рендеринге) на одном большом RenderTargetBitmap, поэтому мне больше не нужно объединять несколько RenderTargetBitmap.

0 голосов
/ 19 ноября 2010

Я не уверен, насколько обширные методы прямой визуализации WPF, есть методы для CopyPixels на BitmapSource, теоретически вы можете использовать CopyPixel на всех ваших bitmapsource, объединить их и создать новый bitmapsource, передавая новые пиксельные данные.Я не уверен, как сделать фактическое объединение.

Другой способ - преобразовать BitmapSources в GDI +, объединить их, используя его функции обработки изображений, и преобразовать результат обратно в BitmapSource

...