Ver Mensaje Individual
  #4  
Antiguo 06-05-2008
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.

Con el primer CopyRect lo que hago es copiar un pedazo de la imagen original (img1) a un TBitMap auxiliar (c). Es decir, que copiaría la parte que "fue seleccionada". En este caso yo puse 100x100 por comodidad, pero sería los valores de un TRect que vos tendrías guardado de cuando se seleccionó en la imagen.

Lo de dibujar una elipse es sólo un ejemplo de que nosotros trabajábamos sobre esa selección antes de volver a "pegarla" en la imagen original. Nada más.

¿Quién es d? Bueno, d y o son las coordenadas de destino y de origen de lo que se va a copiar. Nótese que en la segunda llamada se usa el origen como destino, y el destino como origen, justamente porque volvemos a copiar todo al mismo lugar de donde venía...

Cita:
[...] cómo puedo guardar un trozo de un Timage que he seleccionado mediante un Imagen->Canvas->Rectangle(...) para luego hacer operaciones con esa selección.
Se que para copiar se utiliza esto:
Clipboard()->Assign(Imagen->Picture); pero es que yo no quiero copiar la imagen entera, sino solo la selección
Código Delphi [-]
c.Canvas.CopyRect(d,img1.Canvas,o);
Siendo img la imagen original y o el rectángulo de la selección.

Cita:
[...] y además creo que si por ejemplo quiero cambiarle el color a esa seleccion lo tendria q guardar en otra imagen auxiliar y depues volverla a pegar en la misma posicion de donde estaba
Código Delphi [-]
c.Canvas.Ellipse(1,1,10,10); //Toco alguna cosa de la imagen como, digamos, dibuajrle algo.
img1.Canvas.CopyRect(o,c.Canvas,d);//Vuelvo a poner en su lugar la imagen toqueteada.

¿Estamos más claros ahora? Cualquier cosa, preguntá de nuevo.

Saludetes.
Responder Con Cita