Android - Tirage Bitmap à l'intérieur de la Toile
J'ai actuellement un jeu de labyrinthe qui fait une 5 x 5 mètres carrés (prend la largeur de l'écran et répartit uniformément). Puis, pour chacun de ces boîtes à l'aide de x et y cordinates je utilisateur drawRect, pour dessiner un arrière-plan coloré.
La question que je vais avoir est j'ai maintenant besoin de dessiner une image à l'intérieur de ce même emplacement, par conséquent, le remplacement de l'actuelle plaine de fond la couleur de remplissage.
Voici le code que j'utilise actuellement pour drawRect (quelques exemples):
//these are all the variation of drawRect that I use
canvas.drawRect(x, y, (x + totalCellWidth), (y + totalCellHeight), green);
canvas.drawRect(x + 1, y, (x + totalCellWidth), (y + totalCellHeight), green);
canvas.drawRect(x, y + 1, (x + totalCellWidth), (y + totalCellHeight), green);
Je puis faut également mettre en place une image de fond pour toutes les autres places dans ma toile. Ce fond est simple 1px black les lignes tracées sur le dessus de lui, le code actuel, de puiser dans un fond gris.
background = new Paint();
background.setColor(bgColor);
canvas.drawRect(0, 0, width, height, background);
Pourriez-vous s'il vous plaît conseils si cela est possible. Si oui, quelle est la meilleure façon que je peux faire, tout en essayant de minimiser l'utilisation de la mémoire et d'avoir 1 image qui va s'élargir et rétrécir à remplir le relvent carrés d'espace(ce qui varie sur toutes les différentes tailles d'écran car il divise l'ensemble de la largeur de l'écran uniformément).
OriginalL'auteur LandL Partners | 2012-11-13
Vous devez vous connecter pour publier un commentaire.
Utiliser le
Canvas
méthodepublic void drawBitmap (Bitmap bitmap, Rect src, RectF dst, Paint paint)
. Ensembledst
à la taille du rectangle que vous voulez l'ensemble de l'image à l'échelle.EDIT:
Voici une implémentation possible pour le dessin, les images dans les carrés partout sur la toile. Assume les images sont dans un tableau en 2 dimensions (par exemple,
Bitmap bitmapArray[][];
) et que la toile est carrée, de sorte que le carré bitmap ratio d'aspect n'est pas déformée....
Modifié la réponse à la création d'un spectacle du rectangle de destination et d'itération à travers le 5x5 jeu de carrés.
Je suis très nouveau pour Android et développement Java et donc je me demandais comment ajouter Bitmap dans un tableau 2d. Je suis actuellement à se déplacer les images Bitmap à l'aide de la "BitmapFactory'. 1 autre chose à mentionner est que mon image est toujours le même, donc je peux coder en dur quoi que ce soit (que cela permettrait d'économiser de la mémoire)? Merci
quand tu dis "bitmap est toujours le même", entendez-vous chaque carré dans le carré de 5x5 matrice va contenir l'image même? Ou une partie d'une image bitmap unique va remplir chaque carré? Ou quelque chose d'autre?
J'ai maintenant résolu le problème, en utilisant des extraits de votre code d'exemple. En termes d'images, il y a 2 scénario 1 aura plusieurs images par carré(tout de même). L'autre principal (arrière-plan). Sera 1 bitmap s'étendait sur l'ensemble de la grille de 5x5. Merci pour votre aide.
OriginalL'auteur bobnoble
Essayez le code suivant :
==================
Vous pourriez tout aussi bien faire référence à ce réponse.
@LandLPartners ???
Non, peut-être que je n'étais pas clair. Je suis actuellement en utilisant drawRect, cependant besoin de dessiner une image bitmap dans ce lieu. Toutefois, la largeur et la hauteur de cette image est en constante évolution en fonction de l'endroit où l'utilisateur est à l'intérieur de la carte.
OriginalL'auteur Omarj