J'écris une application qui permet à l'utilisateur de dessiner sur un écran tactile. J'utilise actuellement la méthode ci-dessous et cela fonctionne très bien. Cette méthode produit une "image à haute résolution" puisque pour presque chaque pixel une ligne est dessinée (par exemple 100, 100 -> 102, 103).Dessiner sur une toile un gros pixels
Voici ma question. Je voudrais que l'utilisateur dessine une «image basse résolution» (carte de grands pixels) où vous pouvez intentionnellement voir des pixels de 50 × 50 (par exemple 100, 100 -> 150, 150). Est-ce que quelqu'un a une idée sur la façon d'accomplir cela? J'utilise Silverlight pour Windows Phone. Je pensais à construire une grosse grille de 50 × 50 pixels, mais il pourrait y avoir trop de contrôles.
void FingerMove(object sender, MouseEventArgs e)
{
if (this.IsDrawing)
{
this.DestinationPoint = e.GetPosition(paint);
Line line = new Line
{
Stroke = this.Color,
X1 = this.DestinationPoint.X,
Y1 = this.DestinationPoint.Y,
X2 = this.OriginPoint.X,
Y2 = this.OriginPoint.Y,
StrokeStartLineCap = PenLineCap.Round,
StrokeEndLineCap = PenLineCap.Round,
StrokeThickness = 15,
Opacity = 1,
};
Debug.WriteLine(string.Join(",", line.X1, line.Y1, line.X2, line.Y2));
paint.Children.Add(line);
}
this.OriginPoint = this.DestinationPoint;
}
avant de rendre à l'écran, dessiner un backbuffer (hors bitmap d'écran) échelle puis à l'autre avec les dimensions x et y 50 fois trop petit, haut de gamme pour finalement dessiner à l'écran , tous sans interpolation. –
Voulez-vous dire que vous voulez voir une ligne bloquante, ou une ligne qui se conforme à une grille? –
@GeorgeDuckett: Oui, c'est ce que je veux. – Martin