Я пытаюсь использовать WritableBitmap
, чтобы сделать некоторые манипуляции с изображениями на растровых изображениях на уровне пикселей. Но я не могу заставить его работать. Что я хочу сделать, это манипулировать пиксельными данными WritableBitmap
после того, как я присвойте Image.Source
свойство с моим bitmap.I googled, и единственное, что я нашел, - это вызов метода bitmap.Invalidate()
, но он, кажется, устарел, поскольку я не смог найти этот метод в классе WritableBitmap
.Следующий код, который я использую, чтобы получить изображение обновлено но не повезло:Обновление WritableBitmap после Image.Source было установлено
wbitmap.Lock();
wbitmap.WritePixels(rect, pixels, stride, 0);
wbitmap.AddDirtyRect(new Int32Rect(0, 0, width, height));
wbitmap.Unlock();
//given that i've already assigned image.Source with "wbitmap"
image.InvalidateVisual();
любые мысли по этому вопросу?
EDIT
я был бы признателен за любые предложения для другого способа БЫСТРОГО 2D рисования в WPF лучше, WritableBitmap
.
Lock/AddDirtyRect/Unlock фактически не изменяет никаких данных пикселя. Вы пробовали WritePixels? Вызов InvalidateVisual в элементе управления изображением никогда не должен быть необходимым. – Clemens
уверен, что я делаю, я обновил код. –