Ver Mensaje Individual
  #3  
Antiguo 24-08-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Reputación: 17
Lord Delfos Va por buen camino
A ver, a ver si entiendo lo que querés hacer...

1_ Si entiendo bien. Vos tenés una imagen como la que mostraste.
2_ El usuario eleige un color de 0 a 132 en un textbox específico.
3_ Dado el índice del color (0..132) y el textbox en el que se modificó, yo cambio todos los pixeles de un tenerminado color (según el textbox) por otro color (según el índice dado).

¿Tamos?

Entonces yo lo que haría sería tener dos imágenes. En principio iguales. Una se la muestro al usuario y la otra no.

También tendría un arreglín con los colores.

Código Delphi [-]
const Colores: array[1..132] of TColor = (clBlue, clWhite...., $056677F4,);


Y después reemplazaría los pixeles de mi imagen visible, siguiendo como guía la imagen que no muestro (y que nunca modifico).

En principio podrías usar la propiedad Pixels. No es lo más aconsejable por la velocidad, pero para empezar podrías probar con eso que es más fácil.

Código Delphi [-]
var X; Y: Integer
begin
  for X:= 1 to 32 do
    for Y:= 1 to 32 do
      if ImagenOculta.Bitmap.Canvas.Pixels[X,Y]  = #004566AF then //El color según textbox elegido
        ImagenVisible.Bitmap.Canvas.Pixels[X, Y]:= Colores[IndiceIndicadoPorUsuario];
end;

Nota: Estoy tocando de oído porque no tengo Delphi acá, así que esto puede andar perfecto o ni siquiera compilar.

¿Se entiende más o menos lo que digo?
Responder Con Cita