![]() |
Ajustar (Stretch) & Centrar Imagen En TImage Dentro de ScrollBox
Buena tarde. Quisiera saber si alguién me pudiera ayudar en un par de problemas que tengo.
Esta es mi situación: Tengo que hacer un programa el cual cargue una imagen en un TImage (lo cual ya hago) y aplicarle zoom de acuerdo a la entrada del usuario. La imagen inicialmente la ajusto al TImage (propiedad Stretch) para que se vea bien y completa. Este TImage está dentro de un ScrollBox para cuando se tenga que hacer zoom. Cuando el usuario quiere hacer zoom, le cambio las propiedades al TImage, para que se pueda ver la imagen con base a la escala de Zoom, y como está dentro de un ScrollBox, tiene las barras para recorrer la imagen
Mi primer problema es, cómo mantener centrada la imagen dentro del ScrollBox? La otra situación es que el usuario puede "restaurar" la vista para que se vea de la manera inicial, es decir, Stretch/Ajustada, por lo cual cambio de nuevo los valores como muestro abajo. Sin embargo, la imagen se sigue viendo grande (ya que es más grande que el TImage), con las barras de ScrollBox y sin aplicar Stretch. Será que después de desactivar el Stretch y activar el Autosize, ya no se puede restaurar?
|
Hola,
para centrar la imagen tendrás que jugar con el top y el left de la imagen y con el heigth y width del scrollbox para ir centrando la imagen según vaya aumentando y disminuyendo. El stretch lo que hace es ajustar la imagen que cargas al tamaño del objeto TImage, no al revés, tienes la opción proportional para conseguir que la imagen no pierda sus proporciones originales y no esté deformada pero tampoco te va a cargar la imagen a su tamaño original, cuando cargas la imagen al principio, puedes cargar sus valores de width y height en unas variables y cuando pulsen restaurar cargar el valor de esas variables. Saludos. |
Muchas gracias por tu respuesta, la cuestión es que si podía yo restaurar el stretch después de ampliar la imagen usando el scroll, el problema era que no me mostraba el scroll horizontal. Una vez que hice más grande el scroll para así poder ver la barra horizontal, lo cual si funcionó, dejé de poder restaurar la imagen, por lo cual si se ha de poder, pero no sé si tengo que cambiar las propiedades del scroll o que sucede... Gracias
|
Cita:
Para que parezca centrado puedes utilizar la propiedad Margin de tu ScrollBox.
Saluditos |
La franja horaria es GMT +2. Ahora son las 04:34:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi