Seite 1 von 1

Bildgröße feststellen [Erledigt]

Verfasst: Di, 31. Okt 2017 17:02
von Jan
Hallo,

ich brauche die Größe eines Bildes. Das kann bmp, jpg, oder png sein. Das ist ja ansich kein Problem, es gibt ja :load und :loadFile, und kann das dann mit :xSize und :ySize auslesen. Aber ich habe die Grafik nicht als Datei und nicht als Recource vorliegen. Sondern als Inhalt eines Typ-V-Memofeldes.

Hat jemand eine Idee, wie ich da die Abmessungen heraus bekommen kann?

Oder muß ich mir die Maße jeweils aus dem String rausfiltern? Fände ich etwas umständlich, weil ich dann drei Dateiformate unterschiedlich abarbeiten müsste. Und halt nicht so einfach und elegant wie über XbpBitmap().

Jan

Re: Bildgröße feststellen

Verfasst: Di, 31. Okt 2017 17:14
von Martin Altmann
Was spricht dagegen, den Inhalt des Feldes in eine Datei zu schreiben, dort die Werte auszulesen und dann die Datei zu löschen? Zumindest, wenn Du den String nicht danach durchsuchen willst...

Viele Grüße,
Martin

Re: Bildgröße feststellen

Verfasst: Di, 31. Okt 2017 17:23
von Jan
Hallo Martin,

daran hatte ich auch schon gedacht, an einer anderen Stelle mach ich das auch (aus anderen Gründen). Meine Hoffnung war aber, das ich das direkt mit dem schon geladenen String machen könnte. Das können schon recht viele Grafiken werden, die da je Dokument verarbeitet werden müssen. Und da würde ich mir das Speichern und per XbpBitmap()-Laden schon gerne sparen. Zumal ich den String ohnehin schon in einer Variablen stehen habe.

Aber richtig, das wäre zumindest von der Vorgehensweise wesentlich entspannter als String auslesen.

Jan

Re: Bildgröße feststellen

Verfasst: Di, 31. Okt 2017 18:39
von AUGE_OHR
Jan hat geschrieben: Di, 31. Okt 2017 17:02 Das ist ja ansich kein Problem, es gibt ja :load und :loadFile, und kann das dann mit o:xSize und o:ySize auslesen. Aber ich habe die Grafik nicht als Datei und nicht als Recource vorliegen. Sondern als Inhalt eines Typ-V-Memofeldes.
ich verstehe dein Problem nicht den du musst ja "immer" das Bild erst laden bevor du Informationen bekommst. aus einer Memo Datei "lädt" man mit SetBuffer() und dann kanst du auch o:xSize und o:ySize auslesen.

p.s. wenn man ein Bild im Memo hat sollte es auch ein Feld geben wo man weiter Infos reinschreiben kann wie X/Y Size

Re: Bildgröße feststellen

Verfasst: Di, 31. Okt 2017 18:48
von Jan
Jimmy,

das hilt nicht weiter. Denn wenn ich das Bild von der Festplatte/USB-Stick/wasauchimmer auslese, dann lese ich das als Strnig ein. Und habe noch immer nicht die Abmessungen. Kann sie also auch nicht in der dbf speichern.

Das mit dem :setBuffer() muß ich mal kontrollieren. In dem vorhandenen Codeteil wird das gemacht, und trotzdem gespeichert. Da muß ich mal schauen, ob das damals versehentlich doppelt gemacht worden war.

Jan

Re: Bildgröße feststellen

Verfasst: Di, 31. Okt 2017 20:43
von AUGE_OHR
Jan hat geschrieben: Di, 31. Okt 2017 18:48 ... dann lese ich das als Strnig ein.

Das mit dem :setBuffer() muß ich mal kontrollieren.
mit o:Load oder o:Loadfile "liest" man ein File oder Resource "in ein Bitmap".
wenn du nun mit FREAD / MEMOREAD oder sonstiges ein Bitmap "als String" einliest musst du es "in das Bitamp überführen" was das SetBuffer() macht.

klar könntest man den "String" durchsuchen nach dem Bitmap Header aber wenn es "in" einem XbpBitmap steckt dann kann man auch die o:xSize und o:ySize iVAR benutzen um die Grösse abzufragen.