проблема заключается в следующем:Эффективное манипулирование растровое в WPF (C#)
Я получил вынесенное растровое изображение в виде массива байтов (вместе с заголовком битовой карты). Теперь я хочу манипулировать содержимым растрового изображения. Для этого мне нужно обернуть этот массив некоторым классом высокого уровня, скажем BitmapImage
. Я хочу избежать копирования массива или его части данных и т. Д. Я хочу просто заставить .NET интерпретировать мой массив байтов как BitmapImage.
Я хочу изменить содержимое, отредактировав некоторые вещи до RenderTargetBitmap
, а затем интерпретируйте его биты данных как биты моего изображения. Для рендеринга я должен использовать стандартную пару DrawingContext, DrawingVisual
. Таким образом, было бы здорово, если бы я мог РАБОТАТЬ по части данных моего массива байтов и отобразить мое окончательное изображение в этом подмассиве. Тогда мне не нужно было выполнять какое-либо копирование, и производительность была бы великолепной.
Как ускорить расчет и получить потрясающие результаты? :-)
Заранее благодарю вас за ответы!
Приветствия
Yup, я думал о WriteableBitmap, но как визуализировать DrawingVisual для этого, не копируя никаких данных взад и вперед? Я бы хотел избежать копирования по соображениям производительности ... Что бы вы предложили? – Jamie
Насколько я знаю, это невозможно без копирования. Могу ли я спросить, что бы вы хотели достичь? Вы хотите объединить DrawingVisual (векторный график) с изображением? Возможно, вы можете разместить его поверх этого изображения (например, использовать Canvas Zindex), чтобы он выглядел как одно изображение. –
Да, я хочу объединить DrawingVisual с изображением (которое у меня сейчас есть как массив байтов) ... – Jamie