Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi pixelwerte abfragen (https://www.delphipraxis.net/96749-pixelwerte-abfragen.html)

dasbinich 30. Jul 2007 12:30


pixelwerte abfragen
 
hier mal ne noob-Frage:
angenommen ich habe eine 800x600 bitmap gespeichert unter C:/Desktop/Bild.bmp
wie kann ich jetzt die pixelhelligkeit oder den RGB-Wert einzelner Pixel abfragen?
ich hab mir das so vorgestellt, dass ich erstmal alle werte in ein array packe um später mit denen zu arbeiten...etwa so:

Delphi-Quellcode:
var
x,y: integer;
ar: array [1..800,1..600] of double;
begin
for y=1 to 600 do
   begin
   for x=1 to 800 do
      begin
      ar[x,y] := Helligkeit(pixel[x,y])
      end;
   end;
end;
end.
also
# wie greife ich auf das bestimmete bild zu?
# wie greife ich auf die pixel zu?
# was für eine zahl bekomme ich? (so eine HTML-HEX?)

Die Antworten dürfen ruhig etwas ausführlicher sein, da ich Delphi bisher nur in der Schule hatte. Deshalb wusste ich auch nicht genau welche Programmiersprache ich angeben sollte

P.S: Wo bekomm ich ne gratisversion von Delphi her? Ich hab mal so ein "architect trial" gefunden, aber das wollte erstmal 3 oder 4 zusatzprogramme installiert haben (irgendwas mit ms-NET-blabla-frameworks-diesunddas)
und als ich die auch hatte hat es gemeint ich hätte das nicht installiert...


[edit=Matze][delphi]-Tags gesetzt. Zukünftig bitte selbst einfügen. MfG, Matze[/edit]

sirius 30. Jul 2007 13:03

Re: pixelwerte abfragen
 
zu PS: Turbo Delphi Explorer (z.B. für Win32)
völlig kostenlos und unbegrenzt nutzbar. Aber das .Net-Zeug musst du trtozdem installieren (beachte dabei die Reihenfolge!)

zum Problem:
Du könntest dir erstmal die Spezifikation von bitmaps aunschauen um zu wissen, wie deine Datei aufgebaut ist, oder du nimmst ein Komponenten (z.B. TBitmap) und fragst dort ein Pixel ab. Zur Helligkeitsberechnung gabs hier schonmal was.

dajuhsa 30. Jul 2007 13:04

Re: pixelwerte abfragen
 
du bekommst einen tcolor wert, den kannst du mit ColorToRGB in ein Cardinal umwandeln und mit GetRValue, GetGValue, GetBValue in Bytes umwandeln. mit inttohex(Rotwert,2) kannst du den html-rotwert als string zurückgeben lassen.

noch was:

R: 200
G: 110
B: 80

helligkeit um 55 erhöhen->

R: 255
G: 165
B: 135

wegen helligkeit.
Delphi-Quellcode:
var
MyColor: TColor;
begin
Image1.Picture.LoadFromFile('blubb.bmp');
MyColor := Image1.Canvas.Pixels[x][y];
end;
zum farbwert auslesen
hoffe, das hat geholfen

sirius 30. Jul 2007 13:52

Re: pixelwerte abfragen
 
Zitat:

helligkeit um 55 erhöhen->

R: 255
G: 165
B: 135
Das bezweifle ich. DP

dajuhsa 30. Jul 2007 14:13

Re: pixelwerte abfragen
 
bei mir ging das so, sry :gruebel:

sirius 30. Jul 2007 14:31

Re: pixelwerte abfragen
 
Zitat:

Zitat von dajuhsa
bei mir ging das so, sry :gruebel:

Macht nix, ich habe auch nicht so gute Augen um die Farbveränderung zu sehen :mrgreen:
Was machst du eigentlich, wenn sich die Helligkeit um 56 erhöht....?

dajuhsa 30. Jul 2007 14:48

Re: pixelwerte abfragen
 
dann kommt das gleiche raus, ich hab genau so mein zeichenprogramm gemacht, guck mal nach "chromix"

dasbinich 30. Jul 2007 20:44

Re: pixelwerte abfragen
 
Danke für die Antworten, aber bei dem Download bin ich mir noch nicht ganz sicher, muss ich da nur die "prereqs" und eins der untenstehenden Programme (es sein denn, es steht dabei, dass die prereqs enthalten sind)runterladen, oder alles? Weil alles zusammen wäre etwas über 3 GB

sirius 31. Jul 2007 08:08

Re: pixelwerte abfragen
 
Es gibt 4 verschiedene Turbos
TD für Win32
TD für .Net
TD für C#
TD für C++

Du benötigst nur die PreReqs und eins der Programme. Das soll dich nicht hindern alle 4 zu nehmen, aber im Allgemeinen wird dir sicherlich TD für Win32 reichen (also die ersten beiden Downloads mit deutscher Flagge davor).
Als drittes brauchst du noch einen Lizenzschlüssel, den du durch eine problemlose, kostenlose Registrierung bei Borland/CG kriegst (Link ist da auch irgendwo)

Edit: Falls du mehrere Turbos installieren willst, dann solltest du vor der Installation des zweiten Turbos mal hier vorbeischauen :wink:


btw.: :party: welcome at DP :dp:

dasbinich 31. Jul 2007 18:27

Re: pixelwerte abfragen
 
Hmmm...
Habe jetzt alle Prerequisites installiert die in der zip-datei drin waren, aber wenn ich versuche das eigentliche Programm zu installieren sagt´s mir, dass mir "ms-NET Frameworks SDK v1.1" fehlt... und die Aktivierungsmail die ich hier angefordert habe ist auch noch nicht da.
Habe ich was falsch gemacht? und wo bekomme ich das SDK 1.1 her?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 Uhr.
Seite 1 von 2  1 2      

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