Рисование линии с использованием WPF WriteableBitmap.BackBuffer - PullRequest
3 голосов
/ 08 июня 2010

Знаете ли вы какую-либо библиотеку, которая предоставляет методы для рисования простых фигур (линий и, возможно, других фигур) с использованием WPF WriteableBitmap и в идеале BackBuffer?Я знаю, что существует проект WriteableBitmapEx для silverlight, но есть ли эквивалент WPF?

Ответы [ 2 ]

7 голосов
/ 08 июня 2010

Наверное, вот ответ на мой вопрос :)

_plotBitmap.Lock();

var b = new Bitmap(_plotBitmap.PixelWidth,
                   _plotBitmap.PixelHeight,
                   _plotBitmap.BackBufferStride,
                   System.Drawing.Imaging.PixelFormat.Format24bppRgb, 
                   _plotBitmap.BackBuffer);

using(var bitmapGraphics = System.Drawing.Graphics.FromImage(b))
{
    bitmapGraphics.SmoothingMode = SmoothingMode.HighSpeed;
    bitmapGraphics.InterpolationMode = InterpolationMode.NearestNeighbor;
    bitmapGraphics.CompositingMode = CompositingMode.SourceCopy;
    bitmapGraphics.CompositingQuality = CompositingQuality.HighSpeed;
    bitmapGraphics.DrawLine(Pens.Gold,2,2,222,222);
}

_plotBitmap.AddDirtyRect(new Int32Rect(0,0,_plotBitmap.PixelWidth,_plotBitmap.PixelHeight));
_plotBitmap.Unlock();
1 голос
/ 31 июля 2013

Вы, похоже, используете Bitmap, но запрашиваете решение с использованием WriteableBitmap. Существует WriteableBitmapEx для WPF.

...