Странность с WriteableBitmap в WPFC#

Место общения программистов C#
Anonymous
Странность с WriteableBitmap в WPF

Сообщение Anonymous »

Я создаю записываемое растровое изображение Gray8 в WPF/.Net 8.
Когда я устанавливаю для этого параметра источник изображения, в результате получается полностью черное изображение - примерно правильного размер.
Если я сохраню записываемое растровое изображение (с помощью PngEncoder), изображение сохранится так, как я и ожидал. Если я перезагружаю изображение PNG с диска в элемент управления «Изображение», оно отображается совершенно нормально.
Однако, если я воссоздаю изображение, повторно сохраняю его и перезагружаю, оно не отображается — оригинал изображение сохраняется.
Меня главным образом интересует, что мне нужно сделать, чтобы записываемое растровое изображение не выглядело черным, поскольку мне не нужно его сохранять и так далее.< /p>
Цель растрового изображения — показать серию полос, темнота которых соответствует значениям в массиве — своего рода гистограмма плотности

Код: Выделить всё

 public BitmapSource CreateLineWeightImage()
{
if (LineWeights == null) throw new InvalidOperationException("Must GetLineWeights first");

WriteableBitmap lineWeights = new WriteableBitmap(LineWeightImageWidth, OriginalImage.PixelHeight, 96, 96, PixelFormats.Gray8, null);
lineWeights.Lock();
unsafe
{
for (int y = 0; y < lineWeights.PixelHeight; ++y)
{
for (int x = 0; x < LineWeightImageWidth; ++x)
{
byte* PixelPtr = (byte*)lineWeights.BackBuffer + y * lineWeights.BackBufferStride + x;

*((byte*)PixelPtr) = (byte)LineWeights[y];
}
}
}

lineWeights.Unlock();
LineWeightsImage = lineWeights;
return lineWeights;

}
Спасибо
Иэн

Подробнее здесь: https://stackoverflow.com/questions/787 ... map-in-wpf

Вернуться в «C#»