AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Image-> Wieviele Farben gibt es

Ein Thema von rethan · begonnen am 4. Sep 2007 · letzter Beitrag vom 6. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
rethan

Registriert seit: 4. Sep 2007
5 Beiträge
 
#1

Image-> Wieviele Farben gibt es

  Alt 4. Sep 2007, 17:17
Servus Delphianer,

mein Informatik Professor hat in seiner Aufgabensammlung die Frage
gestellt, wieviele Farben es in der Image-Komponente gibt
und welches Farbmodell verwendet wird , dass tolle daran
ist, dass wir die Graphischen Basisroutinen, wie er es nennt, noch
gar nicht behandelt haben .

Ich hoffe ihr könnt mir, nach meiner erfolglosen Suche durch das
WeltWeiteNetz weiterhelfen...

Danke im Vorraus
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#2

Re: Image-> Wieviele Farben gibt es

  Alt 4. Sep 2007, 19:29
Hi, welcome @

Willst du ein Bild in ein TImage laden und dann die Anzahl der verschiedenen Farben in diesem Bild auslesen oder willst du allgemein wissen wieviel Farben ein TImage darstellen kann?
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Image-> Wieviele Farben gibt es

  Alt 4. Sep 2007, 19:36
Die eigenschaft PixelFormat des Images legt fest, wieviele Bit pro Pixel verwendet werden.
Es sind normalerweise 24 Bit. Da jeweils der Rot, Blau und Grün-Anteil gespeichert wird, hast du für jede farbe 24 / 3 Pixel, also 8, also ein Byte
und mit 24 Bit kannst du 2^24 verschiedene Zustände erreichen. Soviele verschiedene Farben gibt es. Viel Spaß beim rechnen für die anderen werte (16, 8, 32..., mehr dazu in der Delphi-Hilfe(F1))
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Image-> Wieviele Farben gibt es

  Alt 4. Sep 2007, 19:40
Hallo!!!

Also Du könntest Pixel für Pixel die Farbe prüfen und diese in ein Array oder eine sonstige Liste speichern. Einfach in der Schleife prüfen, ob die Farbe von Pixel xy in der Liste (IndexOf...) vorhanden ist. Falls nein, dann hinzufügen. Zum schluß die Anzahl der Elemente auslesen und fertig!

Wie Du auf die Farbe der Pixels zugreifen kannst, ist hier im Forum im Rahmen anderer TImage-Fragen (z.B. in Grauwerte umwandeln, Negativ erzeugen...) schon sehr oft behandelt worden.

Hoffe Dir einen Denkanstoß gegenben zu haben...

SCRaT

//EDIT: Auf die schnelle gefunden: Bitmap in Grauwerte umwandeln
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Image-> Wieviele Farben gibt es

  Alt 4. Sep 2007, 19:54
Sicher dass er das meint?
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Image-> Wieviele Farben gibt es

  Alt 4. Sep 2007, 20:20
Zitat von inherited:
Die eigenschaft PixelFormat des Images legt fest, wieviele Bit pro Pixel verwendet werden.
Diese Eigenschaft hat ein TBitmap, aber kein anderer TGraphic-Typ.

Zitat von inherited:
Viel Spaß beim rechnen für die anderen werte (16, 8, 32..., mehr dazu in der Delphi-Hilfe(F1))
Und das er bei 32 Bpp nicht rechnen braucht, hättest du auch noch erwähnen können. Nach deiner Erklärung würde er auf ein falsches Ergebnis kommen.

@rethan: bei 32 Bpp wird ein Byte nicht für die Farbkodierung genutzt sondern es ist ungenutzt oder es enthält Transparenzinformationen (RGBA).

Wozu gibt es 32 Bit wenn ein Byte ungenutzt ist? Ganz einfach: auf gerade Adressen (die glatt durch die Busbreite teilbar sind) kann der Prozessor schneller zugreifen. Bei ungeraden Adressen muss er eine "extra" Runde beim Buszugriff drehen. Und da eine gerade Adresse + Busbreite (hier: 32 Bit) wieder eine gerade Adresse ergibt, kann man sich den Sinn ausmalen...
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Image-> Wieviele Farben gibt es

  Alt 4. Sep 2007, 22:12
Zitat von inherited:
Sicher dass er das meint?
Keine Ahnung, aber das wäre doch mal ein nettes Ergebnis

SCRaT
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Image-> Wieviele Farben gibt es

  Alt 4. Sep 2007, 22:15
Zitat von Muetze1:
Und das er bei 32 Bpp nicht rechnen braucht, hättest du auch noch erwähnen können. Nach deiner Erklärung würde er auf ein falsches Ergebnis kommen.
Deswegen der Querverweis zur Delphip-Hilfe, ich meinte mich zu erinnern dass das da irgendwo erklärt war
ich brauchte das ganze Gedöns für einen VNC-Server und weiß dass nicht immer alle Bits benutzt werden.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#9

Re: Image-> Wieviele Farben gibt es

  Alt 4. Sep 2007, 23:55
Zitat:
und welches Farbmodell verwendet wird
das ist RGB in fast allen Fällen und hängt von der Grafikkarte ab.

Die TImage Komponnete benutzt immer das eingestellte Farbformat der Grafikkarte. Also auch wenn man in der TImage Komponente zb. eine monochrome 2 farben Bitmap verwendet so wird das durch das GDI des Betriebsystemes hin zum Grafikkartentreiber bis zum Monitor immer im durch das System eingestellten Farbformat dargestellt. Wenn du also 24Bit Farbmodus für den Bildschirm eingestellt hast dann sind es 24Bit Farbtiefe und nicht nur 1 Bit wie bei der monochromen Bitmap im TImage.

Gruß Hagen
  Mit Zitat antworten Zitat
rethan

Registriert seit: 4. Sep 2007
5 Beiträge
 
#10

Re: Image-> Wieviele Farben gibt es

  Alt 5. Sep 2007, 19:25
Ich danke euch allen für die Mühe, die ihr euch gemacht habt...
wahrscheinlich hab ich mich zu kompliziert ausgedrückt .

Es ging darum ob das TImage 16 oder 32 Bit nutzt
und das mit dem Farbmodell hat sich zum Glück auch
geklärt .
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:00 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