2009-11-05 18 views
6


He visto preguntas similares aquí pero no he encontrado una respuesta.
Estoy tomando un curso de gráficos por computadora en la universidad y se nos enseñan diferentes algoritmos que se usan para mostrar formas.
Mi tarea es elegir cualquier plataforma de desarrollo e implementar estos algoritmos.
Como tengo experiencia en desarrollo en WPF, quiero usarlo para esta tarea.
Pero no puedo encontrar cómo dar las coordenadas de un píxel y cambiar su color.
Sé que las preguntas relacionadas con la escuela no son tan populares aquí en stackoverflow, pero no creo que hacer esta pregunta sea hacer trampa en mi tarea de ninguna manera.
¡Gracias!¿Cómo puedo activar (cambiar el color) de un solo píxel por coordenadas en WPF

Respuesta

5

usted tiene tres opciones:

  1. Añadir un rectángulo del tamaño de 1 píxel a un Canvas (la tela es como se hace cargo de coordinar en WPF),
  2. Haga un poco de pintura personalizada en una WriteableBitmap (ejemplos están en esa página)
  3. Haga un poco de pintura personalizada en caso CompositionTarget.Rendering, y "apertura" un procesador de este modo:

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

El fragmento de código no es claro sobre qué tipo 'visual' es. Eso me atascó tratando de obtener más información sobre esto, porque la clase base 'Visual' no tiene un método' RenderOpen'. Parece que tiene que ser del tipo 'DrawingVisual'. –

1

Intenta echar un vistazo a la clase WriteableBitmap. WPF no le permite tratar directamente con los píxeles, pero WriteableBitmap le permitirá establecer píxeles en un mapa de bits y luego representarlo.

0

Puede usar un objeto Shape como Line o Rectangle en XAML o en código.

Por ejemplo, usando la línea en XAML podría utilizar

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

X1 es la coordenada x comenzar. X2 es la coordenada final x. Y1 es la coordenada inicial y. Y2 es la coordenada final y.

Cuestiones relacionadas