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



Question:


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!


Solution:1

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));  }  


Solution:2

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.


Solution:3

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.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »