begin process at 2012 02 17 12:02:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Problème avec le PictureBox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec le PictureBox

mercredi 7 mars 2007 à 20:38:38 | Problème avec le PictureBox

gibea00

Bonjour !

J'ai un problème avec un de mes pictureBox.  Je veux mettre une image de type Bmp à l'intérieur de mon pictureBox.  Es-ce qu'il y a un moyen afin que l'image s'ajuste automatiquement à la grandeur du pictureBox ?

Présentement, mon image étant plus grosse je ne vois qu'une partie d'elle ?

Es-ce que quelqu'un connaît la façon de régler ce problème ?

Merci

Alexandre
mercredi 7 mars 2007 à 20:47:14 | Re : Problème avec le PictureBox

casy

Membre Club
Réponse acceptée !

Avec le controle PictureBOx, tu as la propriété AutoSize, mais elle fait l'inverse de ce que tu veux. C'est le controle qui va etre redimentionné à la taille de l'image.

Sinon il fat prendre le controle Image, ou là tu as la propriété Stretch qui correspond à ce que tu veux.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
mercredi 7 mars 2007 à 21:14:38 | Re : Problème avec le PictureBox

jmfmarques

Membre Club
Méthode popur avoir ta picturebox la plus grande possible tout en respectant les propoortions :

1) Au départ : une picturebox parfaitement carrée
2) regarder les grandeurs réelles de ton image et :
   - si plus haute que large, choiisir la hauteur de ta picturebox pour la hauteur
   - si plus large que haute : choisir la largeur de ta picturebox pour la largeur
3) une fois ainsi choisie la dimension maximum, pour, selon le cas, la hauteur ou la largeur :
  - appliquer à l'autre dimension le coefficient hauteur/largeur qui permet de garder les mêmes proportions
  - terminer maintenant par paintPocture ou (mieux) par la fonction StretchBlt de l'Api de Windows.

Voilà.
mercredi 7 mars 2007 à 21:49:59 | Re : Problème avec le PictureBox

jmfmarques

Membre Club

Tiens,

Je t'ai "fabricoté/bâclé" quelque chose en vitesse :

regarde, comprends, et prends ce qui t'intéresse :

dans une form :
un cadre carré appelé Frame 1 (aux dimensions que tou voudras, mais carré !
dans ce cadre frame1, une image image1, aux dimensions que tu voudras (peu importe puisque le programme ajustera) avec la propriété picture = ta photo
ailleurs sur la Form (ou tu voudras et minuscule si tu veux)une image image2
ailleurs sur la Form (ou tu voudras car j'ajuste ensuite) : un bouton command1
où tu voudras : un timer timer1
le temps d'exposition est fixé par exposeconds (ici 3 mais tu peux modifier comme tu l'entends)

Private centre As Integer
Private zou As Integer
Private jmf As Boolean
Const exposeconds = 3
Private Sub Command1_Click()
Dim rapfin As Single
 Image2.Picture = Image1.Picture
 If Image2.Height >= Image2.Width Then
   rapfin = Image2.Width / Image2.Height
   Image1.Height = Frame1.Height
   Image1.Width = Frame1.Height * rapfin
 Else
   rapfin = Image2.Height / Image2.Width
   Image1.Width = Frame1.Width
   Image1.Height = Frame1.Width * rapfin
 End If
 Image1.Left = (Frame1.Width - Image1.Width) / 2
 Image1.Top = (Frame1.Height - Image1.Height) / 2
  Frame1.Left = Me.Width
  zou = Int(centre / 20)
  If Timer1.Enabled = True Then
    Timer1.Enabled = False
  Else
   Timer1.Enabled = True
  End If
End Sub

Private Sub Form_Activate()
  Me.Move 0, 0, Screen.Width, Screen.Height
  centre = Int((Me.Width - Frame1.Width) / 2)
  With Frame1
    .Top = Int((Me.Height - Frame1.Height) / 2)
    .Left = Me.Width
    .Caption = ""
    .BorderStyle = 0
  End With
  Image1.Stretch = True
  Image2.Visible = False
  Command1.Caption = "envoyer photo"
  Command1.Move (Me.Width - Command1.Width) / 2, Me.Height - (Command1.Height * 2)
End Sub

Private Sub Timer1_Timer()
 Dim coucou As Integer, depart As Double
 coucou = 1
 Frame1.Left = Frame1.Left - zou
 zou = zou + coucou
 coucou = coucou + 20
 If Frame1.Left <= centre And jmf = False Then
   Timer1.Enabled = False
   depart = Timer
   While Timer < depart + exposeconds
   Command1.Visible = False
     DoEvents
   Wend
   jmf = True
 End If
 Timer1.Enabled = True
 If Frame1.Left < Me.Left - (Frame1.Width * 2) Then
   Timer1.Enabled = False
   jmf = False
   Command1.Visible = True
 End If
End Sub

Fastoche


mercredi 7 mars 2007 à 22:54:29 | Re : Problème avec le PictureBox

jmfmarques

Membre Club
Ouille !

dans ma précipitation et ma focamosation sur les calculs de proportions, j'ai traité une image et pas une picturebox !...

Voilà donc pour une pocturebox :

sur une Form, une pisturebox nommée tremplin et une picturebox nommée Picture1.

Code :

Private Sub Form_Activate()
 Me.Move 0, 0, Screen.Width, Screen.Height
 Picture1.ScaleMode = vbPixels
 tremplin.ScaleMode = vbPixels
 With Frame1
   .Move Me.Width / 10, Me.Height / 10, Me.Width / 2, Me.Width / 2
   .BorderStyle = 0
   .Move (Me.Width - .Width) / 2, (Me.Height - .Height) / 2
 End With
 With tremplin
   .Visible = False
   .AutoSize = True
   .Picture = LoadPicture("d:\superdeb.jpg")  ' remplace ici par le fichier image de ton choix ...
 End With
 Set Picture1.Container = Frame1
 Picture1.Move 0, 0, Frame1.Width, Frame1.Height
 hauteur = tremplin.Height
 largeur = tremplin.Width
 coef = hauteur / largeur
 If hauteur >= largeur Then
   Picture1.Height = Frame1.Height
   Picture1.Width = Frame1.Width / coef
 Else
   Picture1.Width = Frame1.Width
   Picture1.Height = Frame1.Height * coef
 End If
 Picture1.Move (Frame1.Width - Picture1.Width) / 2, (Frame1.Height - Picture1.Height) / 2
 Picture1.AutoRedraw = True
 Picture1.PaintPicture tremplin, 0, 0, Picture1.Width, Picture1.Height, 0, 0, largeur, hauteur
End Sub
jeudi 8 mars 2007 à 13:58:28 | Re : Problème avec le PictureBox

jerry6510

salut !
tu as une option dans tes les caractéristique de ton pictures box qui schress (tu a le choix avec title,none,default,schress,etc...) ou un truc dans le genre et cela te la mais a la taille automatic de ta picturebox !
(désolé pour la précison d'ou elle se trouve)
jeudi 8 mars 2007 à 14:05:51 | Re : Problème avec le PictureBox

casy

Membre Club

Jerry regarde que qui a été dit dans la réponse validée, stp.

une PictureBox ne redimentionne pas une image, c'est elle qui se redimentionne à la taille de l'image.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
jeudi 8 mars 2007 à 14:08:56 | Re : Problème avec le PictureBox

jmfmarques

Membre Club
Euh...
C'est quoi, çà, Jerry ?

Tu veux bien "TENTER D'EXPLIQUER" ?
pour rappel : on développe ici sous VB !
jeudi 8 mars 2007 à 14:14:00 | Re : Problème avec le PictureBox

jerry6510

désolé casy je n'avais pas lu jusqu'au bout ta réponse !!!
autemp pour moi !
sauf que la méthode stretch permet bien de mettre l'image que tu met dans la picturebox à la taille de celle ci !

jeudi 8 mars 2007 à 14:21:18 | Re : Problème avec le PictureBox

jmfmarques

Membre Club
Hola, Jerry !
Ne pas confondre le Stretch que tu fais sur un contrôle image inséré dans un container PictureBox avec un "Stretching" de la  picturebox !

1 2

Cette discussion est classée dans : problème, image, picturebox


Répondre à ce message

Sujets en rapport avec ce message

Position de l'image dans une picturebox [ par arnakor ] SalutVoilà mon problème. Je suis en train de réaliser un jeu d'échecs avec des picturebox (car on peut pas mettre de fond dans les imagebox). Pour les problème avec le controle picturebox et image [ par psychodingue ] j'arrive pas à foutre une image dans l'un de ces 2 controle, ça me dit que l'image est invalide, alors que acdsee l'ouvre très bien...voilà, merci pou problème d' enregistrement [ par CYBOR2000 ] bjr a tous.mon problème :mon programme fusionne 2 images ds 2 picturebox ds 1 pictureboxen dessous, y a un bouton pour l' enregistrer l' image obtennu Problème pour l'autoredraw et le save [ par drnicholas001 ] Salut, grâce à votre aide j'ai réussis à faire que l'autoredraw n'e redessine pas sur l'image précédente dans la picturebox et à enresgistrer mon imag Problème sur le traitement de l'image : besoin d'un peu d'aide ... [ par copyrightx ] Voilà j'ai une image dans un picturebox et une fonction api nommée "TransparentBlt". Cette fonction permet de copier une image avec une couleur transp Problème de Picturebox [ par cire2003 ] Lorsque je mets un picturebox dans ma fenêtre, je me retrouve avec un arrière plan gris (celui par default). En ce qui me concerne, je mets une image Transparence d'image [ par Kite37 ] Bonjour! Alors voici mon problème, qui parait assez simple mais qui est un vrai casse tête depuis quelques jours :( : Pour les besoins d'un logicie Problème PictureBox [ par whyspee ] Bonjour.Quelqu'un pourrait me dire comment changer l'image d'une PictureBox qui affiche une petite croix rouge (parce que j'ai définit l'image avec Im Image - PictureBox : affichage LENT [ par johan3240 ] Bonjour, J'ai un gros problème. Je fais une application VB.Net constitué d'image que j'ai créée sous photoshop. J'insère ces images dans des pictureB probleme insertion image [ par aurel16 ] Bonjour,Je developpe sous visual basic express 2008. J'ai un problème lorsque que j'insère une image dans un picturebox et que je lance le deboguage,


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,510 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales