Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bildgröße von Bilddateien (https://www.delphipraxis.net/394-bildgroesse-von-bilddateien.html)

Tpercon 13. Jul 2002 10:13


Bildgröße von Bilddateien
 
Wie kann man die Bildgröße (Breite und Höhe) von jpg, jpeg, gif und png Dateien ermitteln?

Daniel B 13. Jul 2002 10:38

Re: Bildgröße von Bilddateien
 
Zitat:

Zitat von Tpercon
Wie kann man die Bildgröße (Breite und Höhe) von jpg, jpeg, gif und png Dateien ermitteln?

Hi,

.tiff und .ico nicht vergessen.

Luckie 13. Jul 2002 16:29

@Daniel B: "Schlafmütze" :mrgreen:, sieht das Thema, antwortet und merkt nicht dass es in der falschen Sparte steht und verschieb es dann logischer weise auch nicht. :roll:

Daniel B 13. Jul 2002 18:01

Zitat:

Zitat von Luckie
@Daniel B: "Schlafmütze" :mrgreen:, sieht das Thema, antwortet und merkt nicht dass es in der falschen Sparte steht und verschieb es dann logischer weise auch nicht. :roll:

Ups, hab nicht aufgepasst. Es ist ja auch so klein geschrieben. Sorry. Wo war es denn drin?

sakura 13. Jul 2002 20:36

Das ist im allgemeinen anders für jeden Typ. Bei www.wotsit.org findest Du die Definitionen. Der Rest ist Handarbeit.

Delphi kann JPEG laden - macht es leichter.
Torry bietet Komponenten für GIF - laden und ebenfalls auslesen.

Für andere Grafikformate hilft nur die oben genannte Webseite.

movax 13. Jul 2002 20:40

@TPercon:

Also, bei jpg-bildern kannst du's ja über'n verstecktes image-feld mit autosize:=true auslesen.
und wegen den gif-pics: schau mal auf wotsit.org nach, da gibt'S auch einige texte zu Gif-Dateien.

greetz,
-movax-

|movax.rult.de

Tpercon 17. Jul 2002 19:33

Habe mir von wotsit.org Infos runtergeladen und versuche seit 3 Tagen da vorwärts zu kommen. Schaffe aber noch nichtmal einen richtigen Ansatz fürs Auslesen der Bildinfos für ein Format zu finden, da die Codebeispiele sich z.B. beim jpeg über mehrere Units erstrecken und somit etwas durcheinander herrscht. Kennt jemand vielleicht nen brauchbaren Ansatz für irgendeins der obigen Formate ohne ne extra Komponente zu benutzen.

movax 17. Jul 2002 20:13

ich sag doch: bei jpeg kannst du's über ne unsichtbare image-box machen, einfach die unit jpeg einbinden (ist bei delphi dabei), dann klappt's auch mit den jpegs ;)

Tpercon 17. Jul 2002 20:23

Das möchte ich ja gerade nicht. Ich möchte die Bildgröße aus den markern auslesen und keine Komponente oder zusätzliche Unit verwenden.

sakura 18. Jul 2002 10:04

Hi,

also GIF ist recht einfach. Infos von www.wotsit.org. Erst einmal der allgemeine Aufbau
Code:
        +-----------------------+
        | +-------------------+ |
        | |   GIF Signature  | |
        | +-------------------+ |
        | +-------------------+ |
        | | Screen Descriptor | |
        | +-------------------+ |
        | +-------------------+ |
        | | Global Color Map | |
        | +-------------------+ |
        . . .              . . .
        | +-------------------+ |    ---+   
        | |  Image Descriptor | |       |   
        | +-------------------+ |       |   
        | +-------------------+ |       | 
        | |  Local Color Map | |       |-   Repeated 1 to n times
        | +-------------------+ |       |   
        | +-------------------+ |       |   
        | |    Raster Data   | |       |   
        | +-------------------+ |    ---+   
        . . .              . . .  
        |-    GIF Terminator  -|   
        +-----------------------+
Die GIF Signatur ist immer folgender Aufbau:

GIF87a, also drei Bytes für "GIF" und drei für die Version. Anschließend kommt der "Screen Discriptor"
Code:
         7 6 5 4 3 2 1 0  Byte
#        +---------------+
        |               |  1
        +-Screen Width -+      Raster width in pixels (LSB first)
        |               |  2
        +---------------+
        |               |  3
        +-Screen Height-+      Raster height in pixels (LSB first)
        |               |  4
        +-+-----+-+-----+      M = 1, Global color map follows Descriptor
        |M|  cr |0|pixel|  5   cr+1 = # bits of color resolution
        +-+-----+-+-----+      pixel+1 = # bits/pixel in image
        |   background |  6   background=Color index of screen background
        +---------------+          (color is defined from the Global color
        |0 0 0 0 0 0 0 0|  7        map or default map if none specified)
        +---------------+
Da stehen sofort Breite und Höhe des Bildes. Kurz, die Bytes 6 und 7 (0-basiert zählend) speichern die Breite, die Bytes 8 und 9 die Höhe. Wenn Du diese einfach mittles AssignFile, und Read ausließt, dann hasst Du die Ausmaße des GIF Bildes. Für JPEGs würde ich Dir dringend empfehlend diese in ein TBitmap zu laden (Keine Komponente!) und Dir die Werte für Breite und Höhe zurückgeben zu lassen, da es bei diesem Typ ungleich schwerer wird. Bedenke, JPEG können auch im Video-Stream Format (JFIF) kommen.
:cat:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz