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); img1.Canvas.CopyRect(o,c.Canvas,d);
¿Estamos más claros ahora? Cualquier cosa, preguntá de nuevo.
Saludetes.