Estoy cargando una imagen de disco y quiere copiar (parte de) a un segundo TImage:Cómo utilizar el método CopyRect en Delphi
Image1.Picture.LoadFromFile(S);
with Image1.Picture.Bitmap do
Image2.Canvas.CopyRect(Image2.Canvas.ClipRect, Canvas, Canvas.ClipRect);
Image2 simplemente muestra un rectángulo blanco, y Image1 doesn' t mostrar el archivo desde el disco. Si elimino la segunda declaración, Image1 muestra la imagen. (Lo más curioso: si solo comento la instrucción CopyRect y dejo la línea "con" (instrucción vacía) ¡La imagen 1 tampoco aparece!)
¿Cómo uso CopyRect para copiar parte de una imagen?
edición
Cuando me separé de los dos estados en dos acciones separadas (botones) ocurre lo siguiente:
- imagen se carga y espectáculos en Image1
- Image1 desaparece, y muestra Image2 (!) un rectángulo blanco.
Por cierto, estoy usando Delphi 2009.
I copypasted su código y funciona muy bien para mí. Intente separar ambas instrucciones (en 2 botones) y vea lo que sucede –
No es extraño: 'Image1.Picture.Bitmap' obliga al tipo de gráfico a contener un 'bitmap'. Si 'Image1.Picture' no es ya un mapa de bits (que parecería así, aunque falta en la pregunta), el gráfico lo libera y crea un mapa de bits. –
@Magicmaster - Gracias, pero parece que no funciona. Agregué a mi pregunta. – stevenvh