2010-07-12 9 views
1

Je dispose d'un contrôle de zone d'image et de 2 boutons de commande. J'ai une image affichée à l'intérieur de la boîte d'image.Zoom sur une image à l'intérieur d'une zone d'image

Est-il possible de zoomer sur l'image lorsque l'on clique sur les boutons Zoom avant et Zoom arrière?

Ou je peux même mettre une barre de défilement. Est-il possible de zoomer l'image en fonction des mouvements de la barre de défilement?

J'utilise VB 6.

Répondre

1

Je suppose ici que vous utilisez des fichiers BMP ou JPG ici.

La méthode de scratch simple consiste à placer un contrôle Image dans PictureBox, initialement avec la propriété Stretch = False. Au départ, ce serait dans le coin supérieur gauche. Après avoir défini la propriété Image sur votre objet image, le contrôle Image sera redimensionné pour s'adapter à l'image. Enregistrez la largeur et la hauteur d'origine du contrôle dans les variables. Maintenant, définissez Stretch = True. Vous pouvez zoomer en redimensionnant l'image en utilisant

img.Move 0, 0, sngWidth * sngMagFactor, sngHeight * sngMagFactor 

Où sngMaxFactor = 4! ou peu importe le zoom.

Retour à la taille Restaurez originale:

img.Move 0, 0, sngWidth, sngHeight 

Vous pouvez également déplacer l'image zoomée en modifiant la gauche et Top arguments dans la méthode Move().

0

Il est peut-être plus facile à utiliser deux boîtes pic, l'un dans l'autre. La boîte 'extérieure' peut être considérée comme une fenêtre dans la boîte 'intérieure', que vous redimensionnez et positionnez selon vos besoins. L'effet sera le même mais le codage est beaucoup plus simple.