![]() |
Zoom en la imagen
Hola, estoy haciendo 2 funciones para cambiar el zoom de la imagen, y me pasa que el zoom - siempre me aumenta, al igual que el zoom +, éstos son los códigos que tengo:
En el zoom + Imagen->Height= Imagen->Picture->Height; Imagen->Width=Imagen->Picture->Width; Imagen->Height = Imagen->Height*2; Imagen->Width = Imagen->Width*2; En el zoom - Imagen->Height= Imagen->Picture->Height; Imagen->Width=Imagen->Picture->Width; Imagen->Height = Imagen->Height/2; Imagen->Width = Imagen->Width/2; Además de lo q siempre me aumenta, quisiera que cada vez que se pulse el botón aumentara su tamaño, al igual que para dismunuir, que solo me lo hace la primera vez... Y ya una última preguntita, la propiedad de monocrhoma del bitmap, es para que te ponga la imagen en escalas de grises?? pq a mi me la pone toda en negra... Gracias. Saludos. ![]() |
Monocromo se aplica a dos colores negro-blanco, negro-verde, etc.
Para hacer zoom sobre una imagen yo buscaría en google por "stretch image delphi" o algo así. Hay muchos ejemplos y esas funciones tienen la ventaja de que mantienen la proporcionalidad (aspect ratio) de la imagen. Saludos |
|
Si, pero lo que me parece más raro haciendo el zoom menos, es que teniendo esto:
Imagen->Height=Imagen->Height/2; Imagen->With=Imagen->With/2; Siempre aumenta el tamaño del ancho y el alto de la imagen, y no se por qué... lo he depurado y veo que aumentan los valores, en vez de ser reducidos... cosa rarísimaa porque mira que le pongo que se divida entre 2. Y he mirado más ejemplos en Internet, pero más o menos son así y no me funcionan :(, y otra cosa que me pasa es que solo me aumenta una vez, la primera, no cada vez que le doy al botón... ¿será por alguna propiedad de la imagen? Aunque creo q las tengo bien puestas, tengo el Strech y proporcional a True, y el autosize también a True... Es que por más vueltas que le doy... no se por qué me aumenta si le estoy diviendo su tamaño. Gracias y saludos. |
Cita:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender) AutoSize = False Proportional = False Saludos |
Nada, con ese mismo código y esas mismas propiedades sigue aumentandome con el zoom menos, y solo me deja hacer una vez la operación, vamos q sigo igual...
Saludos. |
A ver te pongo el codigo que yo utilizo y me funciona perfectamente:
Creo dos variables al cargar la imgen, tipo Integer, almacenando el Ancho y el Alto de la imagen original... Un componente TImagen, con las propiedades Código:
Autosize := False; Código:
Imagen.AutoSize := True; Código:
Imagen.AutoSize := False; Pruebalo y me cuentas, a mi me funciona... |
La franja horaria es GMT +2. Ahora son las 13:36:19. |
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