2014-10-14 4 views
0

У меня есть этот метод, который находит все пиксели определенного цвета; они будут в одной сплошной капли. Я хотел бы знать, есть ли быстрый или простой способ рисования их на поверхности, например. структурируйте их каким-то образом, а затем просто нарисуйте эту структуру на поверхность изображения.Самый быстрый и простой способ нарисовать коллекцию пикселей на поверхности

Пиксели Я пытаюсь нарисовать структурированы:

public struct Pixel 
{ 
    public Point Position { get; set; } 
    public Color Colour { get; set; } 
} 

Может быть, это не так, и кто-то может предложить лучшую структуру для записи в WriteableBitmap.

+0

Можете ли вы структурировать их таким образом, чтобы создать сплошной полигон? Если у вас облако пикселей, я не думаю, что есть более быстрые методы, чем цикл и установка этих пикселей. – nvoigt

+0

Как установить пиксели во время цикла? Метод 'SetPixel' не найден на' Canvas'. Или я должен использовать пустой «Имидж»? – ProfK

+0

Рисунок WPF не основан на пикселях. Используйте WriteableBitmap, как это предложено в ответе. Вы также можете прочитать статью [WPF Graphics Rendering Overview] (http://msdn.microsoft.com/en-us/library/ms748373.aspx) в MSDN. – Clemens

ответ

0

Если вам нужно визуализировать их в визуальном дереве, я предлагаю вам создать настраиваемый элемент управления и переопределить метод OnRender. Здесь вы можете рисовать прямоугольники с краями 1 px. В случае большого количества очков этот подход имеет лучшую производительность. Если результат размыт, вычитайте 0.5 px слева и сверху, это должно помочь.

1

Я предполагаю, что класс WriteableBitmap предоставляет вам самый быстрый способ рисования пикселей, но я не выполнил никаких проверок, чтобы проверить это.

Смежные вопросы