Partagez
Aller en bas
avatar
tonyryu
Membre

Nombre de messages : 896
Age : 37
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Cherche outils pour modification couleur de pixel en masse sur image

le Ven 4 Mar 2016 - 12:43
Alors voila, pour mon système de craft et d'équipement, mes icones et mes images d'animations de combat, doivent être colorisés dynamiquement selon les propriétés de mon objet.

Je m'explique,

Quant je craft un objet, les matériaux utilisés vont apporter différentes couleurs pour les différentes parties de mon objet. Si je prend par exemple une épée, l'utilisation de métaux comme l'acier ou le bronze, vont donner une teinte différente à la lame. Lorsque le craft est validé, chaque partie de l'objet se voit donc attribuée une teinte de couleur.

Pour ne pas avoir des milliers d'image pour chaque variation de teinte, les images des objets sont enregistrés en nuance de gris, c'est à dire que les 3 couleurs R,V, B, ont une valeur identique. Sauf que dans mon cas, la valeur de R va me permette de déterminer la partie d'un objet.

Pour simplifier les choses, et conserver la couleur noir et blanche, un objet peut être composé de 4 parties distinctes, et c'est le dernier chiffre de la couleur R qui détermine cette partie. Donc si je reprend l'exemple de mon épée et que je défini que la lame est référencé par la partie 1, toutes les couleurs des pixels de la lame doivent avoir la composante Rouge se terminant par le chiffre 1 (191,195,195)

Et j'en viens donc à mon problème.

Passer une image en nuance de gris, ça se fait tout seul, sauf que la difficulté que j'ai, c'est de modifier la composante R de mes pixels pour chaque partie.

Dans l'idée, j'étai partie pour réaliser ce traitement par JavaScript sur photoshop, sur un calque contenant une des parties de mes objets, mais c'est vraiment pas intuitif. Donc je vais très certainement passer via RPGmaker VxAce et son gestionnaire de Bitmap, pour réaliser cette tache sur chacun de mes calques enregistrés dans des images indépendantes.

Si vous avez connaissance d'outils permettant de réaliser du travail sur des calques pixel par pixel de manière simple, je suis preneur!!


avatar
tonyryu
Membre

Nombre de messages : 896
Age : 37
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

Re: Cherche outils pour modification couleur de pixel en masse sur image

le Ven 4 Mar 2016 - 14:20
Je répond du coup à ma propre question :

J'ai récupéré ce script permettant de faire un export Bitmap vers un fichier sur rpgmaker Ruby :
http://forums.rpgmakerweb.com/index.php?/topic/21633-bitmap-export/

Et j'ai réalisé ce petit script :

Code:
palette = 1

bmp = Bitmap.new("Graphics/Pictures/image.png")

for x in 0...bmp.width
  for y in 0...bmp.height
    #print "x : #{x}, y : #{y}\n";
    couleur = bmp.get_pixel(x, y)
    couleur_noir = couleur.red == 0 and couleur.green = 0 and couleur.blue = 0
    couleur_blanc = couleur.red == 255 and couleur.green = 255 and couleur.blue = 255
   
    if couleur.alpha > 50 and !couleur_noir and !couleur_blanc
      couleur.red = couleur.red - (couleur.red % 10) + palette
      bmp.set_pixel(x, y, couleur)
    end
  end
end

bmp.save("Graphics/Pictures/image_modif.png")

Ca fonctionne comme je le souhaite et rapidement. Le plus long maintenant et de créer mes images contenant mes parties d'objet.
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum