Salut, j'ai essayer d'adapter la procédure mais sans succès, j'obtiens une image toute noire bouffeuse d'encre à la place de mon image format paysage.
Je vais commenter le code pour vous expliquer le pourquoi du comment de ce qui se passe.
Code : Tout sélectionner
#ImagePaysage=11
#Image=10
;(...) code
Case #Imprim
img=VBin_(NomArchive$,Str(k)+".jpg",Key$) ; je vais chercher une image dans mon conteneur VBIN
If img
CatchImage(#Image,img)
LargImage = ImageWidth(#Image) : HautImage = ImageHeight(#Image) ; il chope les tailles H et L
If LargImage>HautImage ; si largeur est plus grande que hauteur
FormatImage$="paysage" ; on dit que c'est du paysage
;-ici j'ai repris la procédure
DestLarg = HautImage
DestHaut = LargImage
Result = CreateImage(#ImagePaysage, DestLarg, DestHaut)
For y = 0 To (HautImage - 1)
For x = 0 To (LargImage - 1)
StartDrawing(ImageOutput(#ImagePaysage) )
C = Point(x, y)
StopDrawing()
StartDrawing(ImageOutput(#ImagePaysage) )
Plot(DestLarg - y - 1, x, C)
StopDrawing()
Next x
Next y
ResizeImage(#ImagePaysage,2244,3189,#PB_Image_Smooth) ; ici je redimensionne l'image pour qu'elle prenne preque la taille entière d'une feuille
; A4, en effet les images sont en 75 DPI donc je les grossi +- 4 fois
Else
FormatImage$="portrait"
ResizeImage(#Image,2244,3189,#PB_Image_Smooth)
;si format est en portrait on change rien si ce n'est le redimensionnement
EndIf
DetectImprim=DefaultPrinter()
If DetectImprim=0
MessageRequester ("Erreur","Aucune imprimante n'est détectée !",#MB_ICONEXCLAMATION)
Else
If StartPrinting("LDVM Printer")
If StartDrawing(PrinterOutput())
If FormatImage$="portrait"
DrawImage(ImageID(#Image), 50, 50) ; petite marge de 50 et on imprime #image
ElseIf FormatImage$="paysage"
DrawImage(ImageID(#ImagePaysage), 50, 50) ; petite marge de 50 et on imprime #imagepaysage
EndIf
StopDrawing()
Else
MessageRequester ("Erreur","Impossible d'imprimer !",#MB_ICONEXCLAMATION)
EndIf
StopPrinting()
EndIf
EndIf
Else
MessageRequester("erreur","Image Introuvable")
EndIf
Donc 2 choses que je comprends pas (même si je me dis que #imagepaysage doit y etre pour quelque chose)
- Déjà la lenteur du traitement pour la rotation de l'image, ça prends plusieurs secondes pour que l'image tourne de 90 degrés, est-ce normal ??
- Pourquoi l'image paysage est noire.
ça vous semblera peut être bête mais je bloque depuis un bon moment et ça commence à me prendre la courge.
Une commande PB en natif pour indiquer le format de sortie paysage ou portrait fait cruellement défaut

! Alors la 3D et tout c'est super cool, mais la base reste la base ! Je ne voudrais pas que les utilisateurs aient à aller paramétrer l'impression avec PrintRequester()
Sur ce je vais faire à bouffer ça me changera les idées, et puis j'ai la dalle.
Merci de votre aide