开发者

How can I turn on (change color) of a single pixel by coordinates in WPF

I have seen similar questions on here but haven't found an answer.

I'm taking a computer graphics course 开发者_如何学编程in college and we are taught different algorithms that are used to display shapes.

My assignment is to choose any development platform and implement these algorithms.

Since I have experience developing in WPF, I want to use it for this assignment.

But I can't seem to find how to give the coordinates of a pixel and change its color.

I know school-related questions aren't so popular here on stackoverflow, but I don't feel that asking this question is cheating on my homework in any way.

Thank you!


You've got three options:

  1. Add a 1 pixel sized rectangle to a Canvas (the canvas is how you do co-ordinate position in WPF),
  2. Do some custom painting in a WriteableBitmap (examples are at that page)
  3. Do some custom painting in the CompositionTarget.Rendering event, and "opening" a renderer like so:

    using (DrawingContext context = visual.RenderOpen())
    {
        context.DrawRectangle(Brushes.Red, null, new Rect(5,5,1,1));
    }
    


Try taking a look at the WriteableBitmap class. WPF doesn't let you deal directly with pixels, but the WriteableBitmap will allow you to set pixels on a bitmap and then render it.


You can use a Shape object like Line or Rectangle in XAML or in code.

For example using Line in XAML you could use

<Line X1="10"
      Y1="10"
      X2="11"
      Y2="11"
      Stroke="Black"
      StrokeThickness="1" />

X1 is the begin x coordinate. X2 is the end x coordinate. Y1 is the begin y coordinate. Y2 is the end y coordinate.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜