Sauvegarder un .ppt en .tif avec compression RLE (Packbits)

- - Dernière réponse : ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 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 à vous.
Bonne journée.
Afficher la suite 

2 réponses

Messages postés
6434
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
13 décembre 2019
91
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.

Merci pour tout aide.
Commenter la réponse de cs_Le Pivert
Messages postés
6434
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
13 décembre 2019
91
Ach ! Ce n'est pas du vba !
Merci quand même pour ton support.
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215 > jester88 -
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.
Commenter la réponse de cs_Le Pivert