Ich habe Bilder in meiner Datenbank gespeichert, beim Abrufen dieser Bilder möchte ich wissen, wie das Gewicht (20KB, 90KB, etc.) Pro Bild ist. Wie bekomme ich diese Informationen? Danke im Voraus.Wie erhält man das Gewicht für ein gespeichertes Bild in Delphi 2009?
Antwort
Wenn es ein BLOB-Feld, dann können Sie die folgenden
SELECT OCTET_LENGTH(column) FROM table t;
verwenden, aber es wäre wirklich schön, wenn wir Ihre dbms wissen
Edit: Sie auch folgenden Ansatz versuchen können (I won‘ t Versorgung Code da ich nicht delphi jetzt)
aber die Idee ist:
Last das Bild in eine TMemoryStream erhalten dann die Größe mit TMemoryStream.Size
Delphi speichert Bilder in Datenbanken mit dem TGraphicField, das normalerweise Ihre Bilder in einen BMP-Blob-Stream konvertiert, bevor sie gespeichert werden.
Wenn Sie also Ihre Bilder in einer BMP-Datei speichern, sollten Sie einen guten Hinweis auf die Größe in Ihrer Datenbank geben.
Beachten Sie jedoch, dass einige Datenbanksysteme die zugrunde liegenden Blobs komprimieren können und einige TGraphic Plugins andere Bildformate liefern können.
So wie RRUZ bereits kommentiert: zu wissen, die Art von Datenbank-System und Bild hilft sehr.
--jeroen
1. Welche Datenbank verwenden? 2. Was ist der Typ des Feldes? – RRUZ
Entschuldigung, meine Datenbank ist MySQL und das Feld ist BLOB-Typ. Also, Aldos Antwort funktioniert gut. Danke an alle –