Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1820 connectés 

  FORUM HardWare.fr
  Programmation

  [VB5] Rétrécir une image dans un Picturebox en gardant les proportions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB5] Rétrécir une image dans un Picturebox en gardant les proportions

n°78606
Rick The A​lone
Posté le 05-12-2001 à 18:49:22  profilanswer
 

Salut à tous,
Je souhaiterais pouvoir insérer des images dans un picturebox de taille fixe. Et si l'image est plus grande, qu'il me la rétrécisse tout en gardant les proportions Hauteur/Largeur de l'image d'origine.
Si vous avez un code source ou un lien pour un composant VB faisant cela, ça me serais très utile.
Merci d'avance
@+


---------------
Rick The Alone :D
mood
Publicité
Posté le 05-12-2001 à 18:49:22  profilanswer
 

n°78677
Rick The A​lone
Posté le 06-12-2001 à 02:36:39  profilanswer
 

Un petit Up
Bon j'ai vu que pour picturebox c'est pas possible alors si vous avez une autre soluce merci d'avance


---------------
Rick The Alone :D
n°78685
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 06-12-2001 à 08:48:20  profilanswer
 

salut,
 
je sais pas comment on fait en VB (waw je penserais pas ke je dirais ça un jour !!!), mais en Delphi, il faut mettre
 
Image1.stretch := True;
 
En VB ça devrait ressembler.


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°78772
antp
Super Administrateur
Champion des excuses bidons
Posté le 06-12-2001 à 12:50:03  profilanswer
 

juju_le_barbare a écrit a écrit :

[...] mais en Delphi, il faut mettre
Image1.stretch := True;




 
pour la garder proportionnelle il y a aussi un attribut "Proportional" (uniquement à partir de Delphi 6)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°78776
Carbon_14
Posté le 06-12-2001 à 13:21:51  profilanswer
 

Si y a pas de moyens "directs, l'API StretchBlt sait faire.
 
StretchBlt function copies a bitmap from a source rectangle into a destination rectangle, stretching or compressing the bitmap to fit the dimensions of the destination rectangle, if necessary. Windows stretches or compresses the bitmap according to the stretching mode currently set in the destination device context.  
 
BOOL StretchBlt(
    HDC hdcDest, // handle of destination device context  
    int nXOriginDest, // x-coordinate of upper-left corner of dest. rect.  
    int nYOriginDest, // y-coordinate of upper-left corner of dest. rect.  
    int nWidthDest, // width of destination rectangle  
    int nHeightDest, // height of destination rectangle  
    HDC hdcSrc, // handle of source device context  
    int nXOriginSrc, // x-coordinate of upper-left corner of source rectangle  
    int nYOriginSrc, // y-coordinate of upper-left corner of source rectangle  
    int nWidthSrc, // width of source rectangle  
    int nHeightSrc, // height of source rectangle  
    DWORD dwRop  // raster operation code  
   );  
 
Y a peut-être exemples intrinsèques sur site dédié à VB (j'ai pas l'URL en tête, Cf chercher sur le forum...).

n°78779
Rick The A​lone
Posté le 06-12-2001 à 13:24:02  profilanswer
 

Tout d'abord merci pour vos réponses. Mais en utilisant le code suivant :
Private Sub Command1_Click()
chemin1 = App.Path
chemin2 = "\test.jpg"
chemin = chemin1 + chemin2
Dim objPic As Picture
Set objPic = LoadPicture(chemin)
Image1.Stretch = True
Image1.Picture = LoadPicture(chemin)
End Sub

 
Cela me réduis bien l'image au format du controle Image mais ça ne me garde pas les proportions de l'image d'origine.
 
De plus j'ai pas trouvé pour l'équivalent de "proportionnal" sous VB5 et en plus.
 
Donc je suis au même point
 
@+


---------------
Rick The Alone :D
n°78781
Rick The A​lone
Posté le 06-12-2001 à 13:25:35  profilanswer
 

Merci CARBON_14 , je vais de suite tester cela.


---------------
Rick The Alone :D
n°78813
Carbon_14
Posté le 06-12-2001 à 14:43:25  profilanswer
 

Pour le code de stretching, vu que c'est plus "léger" au niveau code, il faudrait peut-être essayer de trouver les dimensions de l'image (en la chargeant sans l'afficher, ou dans zone non visible) voire trouver une fonction pour ça.
 
Connaissant la taille dispo maximale, il faut réajuster la hauteur ou la largeur du CONTENEUR pour que le stretch soit "parfait".
Image.Width, Image.Height (ou qq chose comme cela, ai oublié VB).

n°78823
Rick The A​lone
Posté le 06-12-2001 à 14:54:20  profilanswer
 

j'ai utilisé l'API StretchBlt. Ca marche mais la photo, une fois rétrécie "bave"  :( Comme si la palette de couleur n'était pas réspectée. :heink:  
Je vais donc tester ta 2ème méthode... Mais demain, car je suis debout depuis 2h du mat (boulot oblige) et là je fatigue un peu...
 
Encore merci
@+


---------------
Rick The Alone :D

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [VB5] Rétrécir une image dans un Picturebox en gardant les proportions

 

Sujets relatifs
[HTML] cacher une image, c possible? (urgent, comme tjs ;-) )click sur l'image---->fermeture de la fenetre.
[Javascript et un peu HTML] input type="image"....Javascipt et image
En Java, simplement afficher une image, jpg ou gif dans une fenêtre??Image de fond sur une page php
Comment charger et recuperer une image sous forme de matrice ?VB5 : probleme de taille avec le type CURRENCY
[HTML] découpe d'image pour faire un menu[java] image dans fichier *.jar ?
Plus de sujets relatifs à : [VB5] Rétrécir une image dans un Picturebox en gardant les proportions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR