AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Speicherverbrauch von komprimierten Bildtypen
Thema durchsuchen
Ansicht
Themen-Optionen

Speicherverbrauch von komprimierten Bildtypen

Ein Thema von DerAndereMicha · begonnen am 25. Jan 2007 · letzter Beitrag vom 25. Jan 2007
Antwort Antwort
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#1

Speicherverbrauch von komprimierten Bildtypen

  Alt 25. Jan 2007, 10:55
Hallo Zusammen,

weiß jemand von Euch wie ich den wahren Speicherverbrauch einer komprimierten
Grafik (z.B. JPG oder GIF) mit Hilfe von Delphi herausbekomme, das ist glaube
ich quasi die Größe, die sie auch auf der Festplatte verbrauchen würde, wenn
sie ein Bitmap (z.B. BMP) wäre.

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Speicherverbrauch von komprimierten Bildtypen

  Alt 25. Jan 2007, 12:28
dazu benötigst du die Bildgröße und die Farbtiefe kannst somit dann ausrechnen wieviel Byte verbraucht werden. Wozu brauchst du das? Mit dieser Variante weißt du zum Beispile nicht wieviel die Klasse zur Verwaltung der Bilddaten an Speicher benötigt.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Speicherverbrauch von komprimierten Bildtypen

  Alt 25. Jan 2007, 12:56
Ich habe so etwas mit dem TJclNullStream aus der JCL (JclStreams.pas) erledigt. Genaugenommen habe ich JclStreams.pas dafuer geschrieben.
TJclNullStream ist ein Stream der nur Position und Size erhaelt. Die Daten schmeisst er weg. Wenn man nun das Bild im Bitmap-Format hat und mit SaveToStream in so einen Stream abspeichert, so hat man hinterher in Size die genaue Groesse als File.
Ich brauchte das damit ich ein GIF-Bild solange verkleinern konnte bis es kleiner als 64K war.

Fuer deine Zwecke duerfte es aber ausreichen die Groesse abzuschaetzen. X x Y x NumberOfBytesPerPixel. Dazu kommt noch der Bitmap-Header, der aber meist zu vernachlaessigen ist.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Speicherverbrauch von komprimierten Bildtypen

  Alt 25. Jan 2007, 13:01
Allerdings sollte man dabei auch beachten, dass delphi bilder hexadezimal in der dfm speichert, dadruchwird es mehr platz brauchen, als im stream.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Speicherverbrauch von komprimierten Bildtypen

  Alt 25. Jan 2007, 13:07
Aber auch nur dort. Man kann das Bild auch in einer Resource aufheben und zur Laufzeit ins TImage laden. in der Resource ist es eine normale binaere Bitmap.
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Speicherverbrauch von komprimierten Bildtypen

  Alt 25. Jan 2007, 13:09
Ich brauche die Größe nur zur Anzeige in einer Art ImageViewer (also nix mit DFM oder so). Der Ansatz mit der Größe und der Farbtiefe gefällt mir am besten, bleibt nur noch die Frage wie ich die "NumberOfBytesPerPixel" herausbekomme.

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
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