Sauvegarder un .ppt en .tif avec compression RLE (Packbits)
jester88
-
24 mars 2016 à 08:38
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
24 mars 2016 à 19:19
Bonjour à tous,
Je cherche désespérément sous VBA une solution pour exporter une présentation .ppt en .tif avec une compression RLE (Packbits).
A ce jour, je parviens sans problème à l'exporter en .tif avec le code suivant:
-----------------------------------
'Sauvegarde en .tif:
Dim oSl As Slide
Dim Chemin
Chemin_tif = Slide18.Lbl_tif.Caption
For Each oSl In ActivePresentation.Slides
oSl.Export Chemin_tif & "\Slide_" & Format(oSl.SlideIndex, "") & "." & "TIF", "TIF", 2250, 3000
'Renomme Diapositive1.tif vers le "nom du fichier" .tif:
AncienNom = Chemin_tif & "\Slide_" & Format(oSl.SlideIndex, "") & "." & "TIF"
NouveauNom = Chemin_tif & "\" & Nom & ".tif"
Next
------------------------------------
Mais mon souci est que le format de compression du .tif est par défaut en LZW, ce qui n'est pas compatible avec un utilitaire de chargement d'image utilisé ensuite dans mon entreprise.
Auriez-vous le bout de code manquant pour gérer la compression en RLE/packbits svp ?
Merci Le Pivert pour cette réponse.
Mais cela ne règle pas mon problème de compression. Il me faut absolument un .tif compressé en Packbits car l'image est ensuite chargée par un utilitaire maison utilisé par mon entreprise.
Ach ! Ce n'est pas du vba !
Merci quand même pour ton support.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209
>
jester88
Modifié par ucfoutu le 25/03/2016 à 11:51
Bonjour, jester88 : ce n'est ni du VBA, ni du VB.net, ni du "quelque autre langage" !
C'est l'exposé de l'algo d'une méthode .... (et non, bien évidemment, du "tout cuit" ...). A toi d'utiliser et transposer cet algo, maintenant ...
EDIT : tu devrais quand-même signaler à ton entreprise l'existence de cet adin :
http://www.pptools.com/imageexport/index.html Son prix (moins de 30 $US) sera toujours très inférieur à celui du temps passé à développer ce que tu cherches à développer.
EDIT2 : si tu tiens toutefois à développer cela toi-même, il te faudra t'intéresser aux fonctions de la librairie GDI32 de l'Api de Windows et travailler sur un tableau de dibits.
Voici la liste des fonctions de cette librairie que tu devras alors utiliser :
CreateCompatibleDC
CreateDIBSection GetDIBits SetDIBitsToDevice SelectObject
DeleteDC
DeleteObject
BitBlt
Et (bien sur) : également la fonction GetDC de la librairie user32
J'ai mis en gras celles qui devront le plus retenir ton attention
Tu devras alors utiliser intensément et en parfaite connaissance de cause la structure :
BITMAPINFOHEADER et son membre biCompression.
On s'éloigne là assez considérablement de VBA et on s' "immerge" dans l'utilisation, depuis VBA, de fonctions de l'API de Windows.
24 mars 2016 à 13:40
Mais cela ne règle pas mon problème de compression. Il me faut absolument un .tif compressé en Packbits car l'image est ensuite chargée par un utilitaire maison utilisé par mon entreprise.
Merci pour tout aide.