[resolu] ResizeImage - Mon ratio part en zboub

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

[resolu] ResizeImage - Mon ratio part en zboub

Message par Ar-S »

Salut,
je me refais un redimenssioneur d'image afin d'automatiser la redimension d'image par glisser/deposer de dossier

Je ne comprends pas pourquoi ma valeur L se bloque à 1024 et ne prend pas en compte la formule L=(Limg/Himg)*TailleHauteur
1024 représente H qui sera une taille fixe à toutes les image.

voilà le code :

Code : Tout sélectionner

UseJPEGImageEncoder()
UseJPEGImageDecoder()

Enumeration
  #LDV : #AFF : #Image
EndEnumeration
;}
Global TailleHauteur.l=1024
Global L.l,H.l,Limg.l,Himg.l

Procedure OpenWindow_LDV()
  If OpenWindow(#LDV, 583, 629, 319, 23, "LDVM redim 1024 haut relatif", #PB_Window_SystemMenu|#PB_Window_TitleBar|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
    StringGadget(#AFF, 0, 0, 315, 20, "Glissez/déposez les images ici")
  EndIf
  EnableWindowDrop(#LDV, #PB_Drop_Files, #PB_Drag_Copy)
EndProcedure

OpenWindow_LDV()

;{- Event loop
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #AFF
      EndSelect
      
    Case #PB_Event_WindowDrop
      compte=0
      Repertoire$=EventDropFiles()
      Debug "Répertoire : "+Repertoire$
      RepSav$=Repertoire$+"\"
      
      If ExamineDirectory(0, Repertoire$, "*.jpg")  
        While NextDirectoryEntry(0)
          If DirectoryEntryType(0) = #PB_DirectoryEntry_File
            compte=compte+1
            NomRepertoire$ = EventDropFiles()
            fichier$=DirectoryEntryName(0)
            charge=LoadImage(#Image, RepSav$+fichier$)
            If charge
            Limg=ImageWidth(#Image):Himg=ImageHeight(#Image)
            H=TailleHauteur : L=(Limg/Himg)*TailleHauteur
            Debug "Largeur Image : "+Str(Limg)
            Debug "Hauteur Image : "+Str(Himg)
            Debug "H : "+Str(H)
            Debug "L : "+Str(L)
            
            NomNew$=Str(compte)+".jpg"
            ResizeImage(#Image,L,H,#PB_Image_Smooth)
            SetGadgetText(#AFF,"Traitement du fichier "+fichier$)
            SaveImage(#Image,RepSav$+NomNew$,#PB_ImagePlugin_JPEG,80)
            Delay(10)
            Else
              SetGadgetText(#AFF,"Erreur de chargement de L'image")
            EndIf
          Else
            Debug "aucune image jpg"
          EndIf
        Wend
        FinishDirectory(0)
      EndIf
    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #LDV
          CloseWindow(#LDV)
          Break
      EndSelect
  EndSelect
ForEver
Dernière modification par Ar-S le dim. 25/oct./2009 23:56, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: ResizeImage - Mon ratio part en zboub

Message par Le Soldat Inconnu »

calcul en nombre entier

change L=(Limg/Himg)*TailleHauteur

par L=Limg*TailleHauteur/Himg

ça ira mieux

car tu as un calcul en nombre entier donc Limg/Himg donne 0.7 par exemple mais c'est pas entier, donc ça devient 1 qui est entier
et 1 * TailleHauteur = TailleHauteur = 1024

Hihi

Il faut toujours faire la division en dernier dans un calcul avec des entiers
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: ResizeImage - Mon ratio part en zboub

Message par Ar-S »

ah fichtre que c'est con comme truc, merci LSI, je le pigeait vraiment pas pourquoi la syntaxe déconnait car la formule était tout de même bonne.
Merci !
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre