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

jester88 - 24 mars 2016 à 08:38
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.

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 mars 2016 à 09:02
0
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.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 mars 2016 à 15:00
0
Ach ! Ce n'est pas du vba !
Merci quand même pour ton support.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211 > 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.
0
Rejoignez-nous