Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tif-Bild mit LZW-Komprimierung unkomprimiert ausgeben

Tif-Bild mit LZW-Komprimierung unkomprimiert ausgeben
21.08.2023 10:36:26
ElchBerlin
Hallo EXCEL_VBA-Gemeinde,
gibt es eine Möglichkeit, ein Tif-Bild mit LZW-Koprimierung einzulesen und unkomprimiert wieder auszugeben?
Ich kenne nur die Mathlab-Routinen, aber ich möchte das gern direkt in meinem Excel-Programm einbauen.

Set objImageFile = CreateObject(Class:="WIA.ImageFile")
Call objImageFile.LoadFile(Filename:=xyz-File)

sind mir bekannt und das Einlesen klappt auch, aber für ein Schreiben in unkomprimeirter Form fehlt mir die Idee.

Danke fürs Mitdenken.
VG Elch

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tif-Bild mit LZW-Komprimierung unkomprimiert ausgeben
21.08.2023 11:14:52
Der Steuerfuzzi
Hallo,

schau mal hier: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/wiaaut/-wiaaut-howto-use-filters#convert-filter-create-a-compressed-jpeg-file-from-another-file
Das letzte Beispiel ist das was Du brauchst.
Statt:
IP.Filters(1).Properties("Quality").Value

bräuchtest Du wohl bei Tiff:
IP.Filters(1).Properties("Compression").Value = 0

Das muss natürlich raus, da Du vermutlich ein Tiff öffnest und das nicht in ein anderes Format ändern willst:
IP.Filters(1).Properties("FormatID").Value = wiaFormatJPEG


Kann es leider nicht testen und hoffe, das hilft.

Grüße
Michael

Anzeige
Tif-Bild mit LZW-Komprimierung unkomprimiert ausgeben
23.08.2023 07:43:14
ElchBerlin
Hallo Michael,

danke für den Tipp, kannte ich so noch nicht. Leider klappt bei mir nicht einmal das folgende Beispiel:

Sub Decompress()

Dim Img 'As ImageFile
Dim IP 'As ImageProcess

Set Img = CreateObject("WIA.ImageFile")
Set IP = CreateObject("WIA.ImageProcess")

Img.LoadFile "C:\Muster.bmp"


IP.Filters.Add IP.FilterInfos("Convert").FilterID
IP.Filters(1).Properties("FormatID").Value = wiaFormatJPEG
IP.Filters(1).Properties("Quality").Value = 5

Set Img = IP.Apply(Img)

Img.SaveFile "Muster.jpg"

End Sub

Es crashed mit Laufzeitfehler (..viele Zahlen) und der Bemerkung "Die ID ist nicht richtig formatiert"

Idee?

Danke und viele Grüße
Elch
Anzeige
AW: Tif-Bild mit LZW-Komprimierung unkomprimiert ausgeben
23.08.2023 10:26:55
Der Steuerfuzzi
Hm, anscheinend war die Info nicht korrekt. Gültige Werte für "Compression" sind:
"LZW"
"CCITT3"
"CCITT4"
"RLE"
"Uncompressed"

Somit müsste es eigentlich so gehen:
IP.Filters(1).Properties("Compression").Value = "Uncompressed"
Tif-Bild mit LZW-Komprimierung unkomprimiert ausgeben
23.08.2023 08:04:07
Ulf
Hi,
die Konstante ist undefiniert


IP.Filters(1).Properties("FormatID").Value = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"

sollte es tun.
hth
Ulf
AW: Tif-Bild mit LZW-Komprimierung unkomprimiert ausgeben
23.08.2023 09:24:43
Der Steuerfuzzi
Alternativ kannst Du auch den Verweis setzen. In der Entwicklungsumgebung gehst Du dazu auf "Extras" - "Verweise" und hakst "Microsoft Windows Image Acquisition Library" aus. Dann kannst Du auch mit den Konstanten arbeiten.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige