Ver Mensaje Individual
  #1  
Antiguo 08-06-2013
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
Unhappy Problemas al centrar la parte que se ve de una imagen

El titulo es un poco lioso pero a ver si puedo explicarlo. Mi aplicacion tiene un TScrollBox y dentro un TImage el cual puedo mover de posicion y la idea es que al ampliar la imagen o encogerla se mantenga el centro de la parte de la imagen que se ve con el centro del scrollbox. Tengo esto:

Código:
int centroAncho = Image2->Left / 2 + Image2->Width / 2; //Centro del ancho de la imagen
int centroAlto = Image2->Top / 2 + Image2->Height / 2; //Centro del alto de la imagen
int centroScrollAncho = ScrollBox2->Width / 2; //Centro del ancho del ScrollBox
int centroScrollAlto = ScrollBox2->Height / 2; //Centro del alto del scrollbox

Entonces se me ocurrio que si sustituyo "centroAncho" por "centroScrollAncho" y luego despejo la ecuacion para obtener Image2->Left pues ya lo tendria y lo mismo para el Top y lo hice asi:

Código:
Image2->Left = (centroScrollAncho - Image2->Width / 2) * 2;
Image2->Top = (centroScrollAlto - Image2->Height / 2) * 2;
Algo hay mal o en el despeje o en el planteamiento porque no obtengo lo que deseo.
La imagen la muevo por dentro del scrollbox y no permito que el borde inferior de la imagen suba mas arriba del borde inferior del scrollbox excepto cuando la imagen tenga un alto menor que el del scrollbox y lo mismo con el borde derecho. Le sumo el alto de la imagen y el ancho porque si es mas grande que el scrollbox y la arrastro hacia arriba su Top será negativo y creo que asi obtengo la parte visible de la imagen pero algo falla en mi planteamiento ¿podeis ayudarme con eso?
Responder Con Cita