Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Redimensionar TFrame al tamaño de TImage (https://www.clubdelphi.com/foros/showthread.php?t=86829)

jars 09-10-2014 19:35:33

Redimensionar TFrame al tamaño de TImage
 
Hola amigos.
Mi duda de hoy es:
Tengo un TFrame y en el un TImage, el Frame se muestra dentro de un ScrollBox, lo que no logro es hacer que el frame se ajuste al tamaño de la imagen, es decir que según la imagen (strech y proportional en true) el Timage se acomoda pero el frame me queda con el tamaño original y se ve feo que sobren bordes.
Alguna pista?
Gracias.

ecfisa 09-10-2014 21:16:57

Hola jars
Cita:

Empezado por jars (Mensaje 482836)
...
, lo que no logro es hacer que el frame se ajuste al tamaño de la imagen, es decir que según la imagen (strech y proportional en true) el Timage se acomoda pero el frame me queda con el tamaño original y se ve feo que sobren bordes.
...

Para ajustar el TFrame al tamaño del TImage, basta con hacer:
Código Delphi [-]
  tuFrame.Width := tuImage.Width;
  tuFrame.Height:= tuImage.Height;

Saludos:)

jars 09-10-2014 21:35:00

Hola Ecfisa.
Eso fue lo primero que probe pero el ancho o el alto no se ajustan.

Código Delphi [-]
  with vf[cont] do
  begin
     Frame := TfrImage.Create(nil);
     Frame.Name := Format('Frame%d',[cont+1]);
     Frame.Left := 10;
     TfrImage(Frame).sImage1.Picture.LoadFromFile('c:\tmp\imagenes\ArIyyAg.jpg');
     if cont = 0 then
       Frame.Top := 10
     else
        Frame.Top := vf[cont-1].Frame.Top+vf[cont-1].Frame.Height + 10 ;
      Frame.Height := TfrImage(Frame).sImage1.Height;
      Frame.Width := TfrImage(Frame).sImage1.Width;
      Frame.Parent:= ScrollBox1;
   end;

ecfisa 09-10-2014 22:10:04

Hola jars.

¿ Estas haciendo lo anterior basado en el código de este ejemplo ?
Si es así, no te va a funcionar por que en el evento OnResize del TScrollBox se redimensiona el tamaño del TFrame anulando cualquier ajuste previo.

¿ No te resulta mas simple ajustar el TImage al TFrame ?

Saludos :)

jars 09-10-2014 22:15:22

¿ Estas haciendo lo anterior basado en el código de este ejemplo ?
Si es así, no te va a funcionar por que en el evento OnResize del TScrollBox se redimensiona el tamaño del TFrame anulando cualquier ajuste previo.

Si, lo estoy basando en tu ejemplo pero ya contemple el OnResize.

¿ No te resulta mas simple ajustar el TImage al TFrame ?

Asi esta definido en TFrame pero al estar con strech y proportional, la imagen se acomoda a lo ancho o alto o ambos y el frame no lo acompaña.


La franja horaria es GMT +2. Ahora son las 05:05:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi