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

jester88 - 24 mars 2016 à 08:38 - Dernière réponse : ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention
- 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 

Votre réponse

5 réponses

cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 24 mars 2016 à 09:02
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
cs_Le Pivert 5148 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 mai 2018 Dernière intervention - 24 mars 2016 à 15:00
Ach ! Ce n'est pas du vba !
Merci quand même pour ton support.
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention > jester88 - 24 mars 2016 à 19:19
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.