2011-04-21 2 views
1

J'ai des points dans l'espace 2D (p1, p2, p3, p4) où je veux dessiner une forme en les utilisant, mais je veux aussi remplir à l'intérieur de cette forme un fichier Image (png). Je n'aurai pas de frontières, juste l'image elle-même en remplissant pleinement les dimensions de la forme.Est-il possible de dessiner une forme avec 4 points où la forme est remplie d'une image?

Je vais devoir dessiner les formes 1000s de fois par seconde pour que tout ce qui est plus rapide soit cool, mais les formes elles-mêmes sont de 50x50 pixels, donc pas très grandes.

Des idées?

+2

"Je vais devoir dessiner des formes 1000 fois par seconde" - quel genre d'utilisateurs avez-vous? Ils ne peuvent pas être humains. –

+0

Vous êtes drôle Henk: O Mais c'est un peu comme un jeu amusant comme l'application qui bouge juste dans l'espace 2d donc je dois les dessiner rapidement. En réalité, il pourrait être inférieur à 1000, je viens de l'approximer: O –

+0

@JoanVenge Henk est que les jeux/applications ne mettent généralement pas à jour les graphismes à proximité de cela souvent. 60 images par seconde est généralement considérée comme adéquate, et 120 images par seconde est considérée très, très bonne. La plupart des moniteurs ne supporteront même pas les mises à jour plus souvent que cela. – Beska

Répondre

3

Vous pouvez utiliser un ImageBrush pour remplir un rectangle qui utilise vos points. Vous avez juste besoin de mettre la propriété Rectangle.Fill à votre pinceau.

Ceci est discuté plus here.

+0

Merci CodeNaked, mais c'est pour un vrai rectangle droit? Les mines ressemblent plus à des polygones à 4 côtés, donc tous les côtés n'ont pas la même longueur. Y a-t-il une Forme comme celle-ci? Je peux presser une image comme si l'on pointait une image sur 4 points, en l'étirant si nécessaire. –

+0

@Joan - Désolé, manqué ça. Vous mentionnez "pour" les points, mais en lister seulement deux :-) Le pinceau fonctionnera aussi pour n'importe quel Polygone, mais vous ne pourrez pas facilement incliner/étirer/transformer l'image pour l'ajuster (ie avoir le haut à gauche le coin correspond au point en haut à gauche et en bas à gauche en bas à gauche, etc.). Si c'est ce que tu veux dire. – CodeNaked

+0

Np, vous avez raison. Je dois penser autre chose, j'ai édité la question maintenant. Donc ouais 4 points, et espérais que je pourrais l'incliner/l'étirer pour que l'image s'insère dans le polygone, mais ne pas se comporter comme une découpe/un masque. Comme celui-ci: http://droptutorial.com/wp-content/uploads/2009/09/2465.jpg Bien qu'il ne soit pas comme sur un autre plan, donc il sera toujours mappé à l'écran, ne pas utiliser un autre plan si cela a du sens . –

0

Pourriez-vous placer un masque sur l'image qui bloquerait toute zone en dehors de votre forme? Je suppose que vous ne voulez pas dire carreler la forme avec l'image.

+0

Non, l'image doit être mise à l'échelle pour s'adapter à cette forme polygonale définie par ces 4 points. Mais je vois ce que tu veux dire, donc pas de carrelage. –

Questions connexes