AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Width and Height of Images - Where is the Rest like Colors?
Thema durchsuchen
Ansicht
Themen-Optionen

Width and Height of Images - Where is the Rest like Colors?

Ein Thema von manfred23 · begonnen am 29. Aug 2008 · letzter Beitrag vom 1. Sep 2008
 
manfred23

Registriert seit: 29. Aug 2008
Ort: Nürnberg
9 Beiträge
 
Delphi 6 Enterprise
 
#1

Width and Height of Images - Where is the Rest like Colors?

  Alt 29. Aug 2008, 10:56
Hallo liebe Forumleser und Delphibegeisterte,

Ich möchte wissen, wie viele Farben eine Bilddatei hat.

Dazu folgendes Beispiel:

Delphi-Quellcode:
uses ..., ... GraphicEx;

Image : TImage;

procedure mach;
var PicFile : TPicture;
    {(1)}
    dx, dy : integer; {dx=width, dy=height}
    bpp : byte; {BitsPerPixel}

begin
PicFile:=TPicture.Create;
{(2)}
try PicFile.LoadFromFile('Beispiel.BILD');
    {(3) Prop ... }
    Image.Picture:=PicFile;
    dx:=PicFile.Width; {width und height sind kein Problem}
    dy:=PicFile.Height;
    {(4) bpp:=???}

(*
Und hier verliesen sie mich...

Es gibt in GraphicEx eine TImageProperties für alle
unterstützten Formate, so auch ein Wert namens BitsPerPixel.
Bei BMP (und JPG) gibt es das T(JPEG)PixelFormat mit pfDevice, pf8Bit, ...

Ich habe also folgendes versucht bzw. eingefügt in den Quelltext oben:
...
(1) var Prop : TImageProperties; {ist okay}
...
(2) Prop:=TImageProperties.Create; {ist okay}
...
(3) Hier nun meine Frage.
Wie kriege ich die Daten aus dem gelesenen PicFile
in die Prop Variable, so daß dort alle Felder mit den
richtigen Werten gefüllt sind und ich sie zur Verfügung habe?

Ich habe so ziemlich alles versucht:
Prop:=LoadImageProperties(LoadFromFile('Beispiel.B ILD');
und sogar mit TGraphicExGraphic experimentiert,
aber entweder paßt dann TPicture nicht zu TGraphicExGraphic,
usw.

Gut, ich kann den Header des jeweils erkannten Bildformates
auslesen und so an die Werte rankommen, aber warum zweimal
auf eine Datei zugreifen? Wäre doch Schwachsinn, oder?

...
(4) bpp:=Prop.BitsPerPixel; {ist auch okay, übergibt aber nur den Wert 0 wegen fehlendem (3)}
...
(5) Prop.Free; {nicht zu vergessen}
*)


Delphi-Quellcode:
finally
    PicFile.Free;
    {(5)}
end;
end;
[edit=sakura] Delphi-Tags. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
 


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 08:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz