2010-01-06 5 views
2

J'ai un problème ici et j'espère que quelqu'un ici pourra m'aider. Allons-y. Disons que j'ai une assez grande image (1500x2000), je la charge comme dessinable, très bien jusqu'à présent. Maintenant, j'ai un SurfaceView et je veux dessiner une certaine région (disons la région la plus à gauche) sur une toile, dans une version non-mise à l'échelle. Je pensais que l'utilisation de ClipDrawable serait juste la bonne chose à utiliser, mais en fait, je ne peux pas l'obtenir pour faire ce que je veux. Il affiche simplement une image réduite avec le clip appliqué.Android - ClipDrawable, ScaleDrawable, comment ça marche?

Donc, fondamentalement, ma question est: comment dessiner un drawable non-mis à l'échelle sur une surface, et comment couper ce drawable?

toute aide appréciée, merci :-)

+0

D'accord, je ne suis pas en utilisant les transformations MODELVIEW fournies par l'objet Canvas. Fonctionne bien. – moritz

+0

Puis-je voir le code pour savoir comment cela fonctionne? –

+0

Je suis vraiment désolé, mais je ne pouvais pas le trouver en ce moment ..: -/ – moritz

Répondre

1

Pour CLip dessinable simplement définir la région clip appropriée sur la toile avant de tirer le drawable. Ne pas oublier de sauvegarder()/restore() le Canvas!

+0

c'est la façon dont je vais maintenant. a pris un certain temps pour le comprendre, bien maintenant ça marche. Je vous remercie. – moritz

0

Vous pouvez les utiliser dans XML Drawable.

Cocher cette doc pour plus d'utilisation pour le label clip et scale: http://idunnolol.com/android/drawables.html

+0

Quoi avec le lien, pourquoi ne pas lier à la documentation officielle au lieu de simplement une version lo-fi mis au rebut? – Adam