Je dessine des voitures. Ils sont Bitmap, chargés à partir de PNG dans la bibliothèque. Je dois pouvoir colorier les voitures - les rouges et les vertes et les bleues, peu importe. Cependant, lorsque vous peignez la voiture en vert, les pneus devraient rester noirs et les fenêtres resteront de la couleur de la fenêtre.Redialisation partielle d'un bitmap en cours d'exécution
Je connais deux façons de gérer cela, ni l'un ni l'autre ne me rendent heureux. D'abord, je pourrais avoir deux bitmaps pour chaque voiture; un en dessous pour la couleur du corps, et un sur le dessus pour les bits de détail. Le bitmap en dessous obtient son set transform.colorTransform pour transformer la carrosserie blanche en la couleur dont j'ai besoin. Pas génial, car je me retrouve avec deux fois plus de Bitmap à l'écran lors de l'exécution. Deuxièmement, je pourrais par programme rechercher et remplacer «blanc» avec la couleur «carrosserie» lorsque je charge le bitmap pour chaque voiture. Pas génial non plus, car la quantité de mémoire que je prends multiplie par toutes les couleurs dont j'ai besoin. Ce que je voudrais serait une façon de dire «dessiner ce bitmap avec JUST THE WHITE PARTS transformé en cette autre couleur» au moment de l'exécution. Y a-t-il quelque chose comme ça disponible? Je serai moins surpris si la réponse est «non», mais je me dis que cela vaut la peine de demander.