AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Erklärung zu RGBTriple
Thema durchsuchen
Ansicht
Themen-Optionen

Erklärung zu RGBTriple

Ein Thema von Funk · begonnen am 21. Apr 2006 · letzter Beitrag vom 22. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Funk

Registriert seit: 24. Feb 2006
11 Beiträge
 
#1

Erklärung zu RGBTriple

  Alt 21. Apr 2006, 20:51
Hallo,
habe in meinem Programm, in welchem Bilder bearbeitet werden, im Deklarationsteil folgenden Pointer definiert:
rgb:PRGBTriple;
Nun bräuchte ich für meine Doku eine Erklärung. Habe schon in Delphi Hilfen geschaut, doch finde für mich keine verständliche Erklärung.
Meine genaue Frage ist, was ist RGBTriple?

Gruss

Funk
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Erklärung zu RGBTriple

  Alt 21. Apr 2006, 20:56
Das RGP-Triple speichert eine Farbe als 3 Informationen. Den Rotwert (R), den Grünwert (G) den Blauwert (B).
Jeder dieser Werte hat einen Wert von 0 bis 255 wobei 0 nicht vorhanden und 255 voll bedeutet.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Funk

Registriert seit: 24. Feb 2006
11 Beiträge
 
#3

Re: Erklärung zu RGBTriple

  Alt 21. Apr 2006, 21:31
Das heißt, dass bei der Zuweisung

rgb := Bild.ScanLine[0]

die Information des ersten Pixel links-oben in dem RGBTriple gespeichert ist?

Funk
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#4

Re: Erklärung zu RGBTriple

  Alt 21. Apr 2006, 21:36
Ich selber habe noch nie mit Scanline oder ähnlichen Befehlen gearbeitet. Aber meiner Meinung nach ergibt das nicht das oberste-linke Pixel sondern eher die oberste Linie.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: Erklärung zu RGBTriple

  Alt 21. Apr 2006, 22:12
Es ergibt einen Pointer auf den Anfang der ersten Zeile, und das ist nunmal links oben .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: Erklärung zu RGBTriple

  Alt 21. Apr 2006, 23:31
Scanline[0] gibt in diesem Falle die letzte Zeile im Bitmap zurück da Bitmaps zeilenweise umgekehrt organisiert sind. Ist zwar "blödsinnig" aber halt mal so im Windows.

Was nun über ScanLine angesprochen wird hängt vom Bitmap Pixelformat ab. Du solltes mit Bitmap.PixelFormat := pf32Bit arbeiten da nun über ScanLine per LongWord auf einen Pixel zugegriffen werden kann. Bei anderen Pixelformaten müsstest du umständlich die Farbdaten dekodieren oder bei <= pf256Bit sogar über die Farbtabelle der Bitmap gehen.

Gruß Hagen
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: Erklärung zu RGBTriple

  Alt 22. Apr 2006, 08:17
Hallo,
Zitat von negaH:
Scanline[0] gibt in diesem Falle die letzte Zeile im Bitmap zurück da Bitmaps zeilenweise umgekehrt organisiert sind. Ist zwar "blödsinnig" aber halt mal so im Windows.
Da muss ich Dich enttäuschen . Scanline[0] gibt tatsächlich die erste Zeile zurück. Die zweite Zeile steht aber vor der ersten Zeile, da das Bitmap im Speicher auf dem Kopf steht. Wenn man also mit einem Pointer das gesamte Bitmap durchgehen will, muss man sich den Pointer auf die letzte Zeile holen und dann vorwärts gehen.

Gruß
xaromz
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#8

Re: Erklärung zu RGBTriple

  Alt 22. Apr 2006, 10:37
Zitat von negaH:
Ist zwar "blödsinnig" aber halt mal so im Windows
Hi, und hier würde ich dich jetzt enttäuschen, ich denke dass liegt an den DIBs, die sind genau so aufgebaut, wenn man eine positive Höhe angibt. Sollte die hingegen negativ sein, müssten die Daten auch "richtig rum" im Speicher liegen.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#9

Re: Erklärung zu RGBTriple

  Alt 22. Apr 2006, 10:44
Also nach der Definition eines BitMaps, ist das erste Pixel links-unten und dann wird Zeilenweise nach oben gezählt.

(war das beim Canvas von TPrinter nicht auch so?)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#10

Re: Erklärung zu RGBTriple

  Alt 22. Apr 2006, 10:56
//Edit: Alles gelöscht...habe ein von als und gelesen


Flare
Willy Scheibel
  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 09:07 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