Je veux remplir la zone à l'extérieur d'un rectangle sur une toile. J'utilise
canvas.drawRect(pTopLeft.x, pTopLeft.y, pBotRight.x, pBotRight.y, paint);
4 Réponses :
Vous n'allez pas remplir dehors du clip; C'est le genre de truc clip est là pour empêcher! Si vous souhaitez remplir l'espace situé à l'extérieur d'un recttacle et à l'intérieur des limites de la couche de dessin, construisez quatre rects auxiliaires: puis remplissez-les. P> p>
Merci Ted. J'ai joué avec le remplissage de la toile entière puis essayant de faire la région du clip transparent - pas de bien. Votre méthode a fait le tour.
Je sais que vous l'avez travaillé maintenant, mais une autre possibilité s'est produite pour moi: définir une région de clip qui exclut le milieu et le remplissage. Je pense que si vous utilisez canvas.cliprect (Innerrect, région.op.op.difefence) code> Il frappera le trou que vous voulez.
@Tedhopple en fait je ne peux pas obtenir de rectangles. Pouvez-vous me partair comment dessiner rectangle et remplir le rectangle extérieur des limites?
@Immathan - Veuillez poster une question distincte expliquant ce que vous essayez de faire, ce que vous avez essayé et qu'en est-il de cela ne fonctionne pas. Sans savoir que, il est difficile de savoir comment aider.
@Tedhopp, voici ma question. Stackoverflow.com/questions/25679259/... < / a>
Vous ne pouvez pas dessiner en dehors de la toile code> code>; Cette zone appartient à la vue Si vous souhaitez dessiner en dehors du clip code> CANVAS CODE>, vous aurez à code>. Avez-vous la possibilité de sous-classer le parent
voir code> et faire votre dessin dans cette classe? P>
Invalidate () Code> Les zones qui vous intéressent. p>
Merci Ted and Trojanfoe - La solution la soirée que j'ai proposée est
Pouvez-vous me partager les points à donner pour dessiner un centre rectangle et remplir dehors des limites?
ics et ci-dessus ...
canvas.clipRect(rHole, Region.Op.DIFFERENCE);