Hallo zusammen,
ich versuche das Ganze zwar derzeit in LibreOffice - aber habe das Gefühl, das ist kompatibel.
In Calc lade ich via Macro ein Bild über eine URL und lasse es anzeigen (das Macro ist ein Bsp. aus einem OO-Forum und funktioniert in LO ebenfalls super). Nun benötige ich aber die Größe des Originalbildes um es dementsprechend anzeigen zu können. Kann man diese Werte aus der Bilddatei auslesen (jede Datei .jpg, .png, ... bringt diese Informationen ja mit)?
Vielen Dank schon mal!
Ciao
Originalgröße einer über URL geladenen Bilddatei bestimmen - wie?
Moderator: Moderatoren
Re: Originalgröße einer über URL geladenen Bilddatei bestimmen - wie?
Hey Reth,
na, wenn Du die URL schon hast.... verwende den Service SimpleFileAccess (com.sun.star.ucb.SimpleFileAccess) und dort dann die Methode getSize(sURL) - liefert Dir die Größe der Datei als long in Byte.
Hilft das?
Gruß
Tom
edit: ich schätze, Du brauchtest gar nicht die Größe der Datei... sondern die Bildgröße in Pixeln? Das wird in Basic sicher nicht einfach werden. Für Python gibt es dafür allerdings Bibliotheken - das ist dann leichter.
na, wenn Du die URL schon hast.... verwende den Service SimpleFileAccess (com.sun.star.ucb.SimpleFileAccess) und dort dann die Methode getSize(sURL) - liefert Dir die Größe der Datei als long in Byte.
Hilft das?
Gruß
Tom
edit: ich schätze, Du brauchtest gar nicht die Größe der Datei... sondern die Bildgröße in Pixeln? Das wird in Basic sicher nicht einfach werden. Für Python gibt es dafür allerdings Bibliotheken - das ist dann leichter.
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Re: Originalgröße einer über URL geladenen Bilddatei bestimmen - wie?
Keine Ahnung wie das direkt geht. Zur Not kannst Du ein Dokument erstellen das Bild einfügen und die Werte auslesen:
"Wait 2000" steht dort drin weil LO merklich Zeit braucht um die Grafik im Dokument zu rendern, besser wäre es wohl man fragt den FEhler ab der entsteht wenn "Grafik.Graphic" noch nicht existiert.
Gruß
Stephan
Code: Alles auswählen
Sub groesse_bestimmen()
dok = StarDesktop.loadComponentFromUrl("private:factory/swriter", "_blank", 0, Array())
addr = ConvertToURL("D:\Bild1.jpg")
t_cur = dok.Text.createTextCursor()
t_cur.gotoStart(False)
Grafik = dok.createInstance("com.sun.star.text.GraphicObject")
With Grafik
.GraphicURL = addr
End With
dok.Text.insertTextContent(t_cur, Grafik, False)
Wait 2000
PB = Grafik.Graphic.SizePixel.Width
PH = Grafik.Graphic.SizePixel.Height
Msgbox "Breite: " & PB & " Pixel" & CHR(13) & "Höhe: " & PH & " Pixel"
End Sub
Gruß
Stephan