AGB  ·  Datenschutz  ·  Impressum  







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

Pixel Scannen

Ein Thema von Wadim · begonnen am 1. Nov 2003 · letzter Beitrag vom 1. Nov 2003
Antwort Antwort
Wadim

Registriert seit: 31. Aug 2003
185 Beiträge
 
#1

Pixel Scannen

  Alt 1. Nov 2003, 11:20
hi,

hab folgendes problem, mein quellcode:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var dc :hdc;
pos1,pos2,a,b,c,f1,f2 : integer;
begin
a := strtoint (edit1.text);
b := strtoint (edit2.text);
c := strtoint (edit3.text);
pos1 := strtoint (edit4.Text);
pos2 := strtoint (edit5.Text);
for f1 := a to b do begin
for f2 := a to c do begin
dc := getdc (0);
Color := getpixel(dc,f1,f2);
releasedc (0,dc);
if edit6.text =''
  then begin
  edit6.text := '$00000000';
  end;
  label1.Caption := colortostring (color);
if color = stringtocolor (edit6.text)
  then begin
  edit6.Text := '010';
  end
  else
  edit6.text := '000';
  end;
  end;
  end;
warum zeigt er mir immer die 000 an- dabei gebe ich auch einen colorcode an der in diesem bereich ich???

mir ist aufgefallen das wenn ich bei dieser stelle:

if color = stringtocolor (edit6.text) zb das eingeben:

if color = $00048AE8 dann geht das- warum ist das so, kann mir da einer helfen???

danke
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Pixel Scannen

  Alt 1. Nov 2003, 12:51
Versuch das mal so:
if (color and $ffffff) = (stringtocolor(edit6.text) and $ffffff) then siehe OH - TColor:
Zitat:
Hat das höchstwertige Byte den Wert Null, erhalten Sie eine Farbe, die derjenigen in der Systempalette am ähnlichsten ist. Ist das höchstwertige Byte Eins ($01 bzw. 0x01), ergibt das eine Farbe, die derjenigen in der aktiven Palette am ähnlichsten ist. Wenn Sie das höchstwertige Byte auf Zwei ($02 bzw. 0x02) setzen, wird der Wert an die ähnlichste Farbe in der logischen Palette des aktuellen Gerätekontexts angepasst.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Wadim

Registriert seit: 31. Aug 2003
185 Beiträge
 
#3

Re: Pixel Scannen

  Alt 1. Nov 2003, 13:08
Zitat von himitsu:
Versuch das mal so:
if (color and $ffffff) = (stringtocolor(edit6.text) and $ffffff) then siehe OH - TColor:
Zitat:
Hat das höchstwertige Byte den Wert Null, erhalten Sie eine Farbe, die derjenigen in der Systempalette am ähnlichsten ist. Ist das höchstwertige Byte Eins ($01 bzw. 0x01), ergibt das eine Farbe, die derjenigen in der aktiven Palette am ähnlichsten ist. Wenn Sie das höchstwertige Byte auf Zwei ($02 bzw. 0x02) setzen, wird der Wert an die ähnlichste Farbe in der logischen Palette des aktuellen Gerätekontexts angepasst.
leider geht das auch nicht
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Pixel Scannen

  Alt 1. Nov 2003, 13:27
Willst du zufällig testen ob in einem bestimmten Bereich dieser angegebene Farbwert vorhanden ist?

Es ist schon verständlich, das fast immer Edit6.Text = '000' ist.
Wenn das letzte getestete Pixel (edit2.text:edit3.text) nicht mit dem Farbwert übereinstimmt, ist das immer '000'. Dieses Pixel wird als letztes abgefragt und legt daher auch das ergebnis fest.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Wadim

Registriert seit: 31. Aug 2003
185 Beiträge
 
#5

Re: Pixel Scannen

  Alt 1. Nov 2003, 13:30
Zitat von himitsu:
Willst du zufällig testen ob in einem bestimmten Bereich dieser angegebene Farbwert vorhanden ist?

Es ist schon verständlich, das fast immer Edit6.Text = '000' ist.
Wenn das letzte getestete Pixel (edit2.text:edit3.text) nicht mit dem Farbwert übereinstimmt, ist das immer '000'. Dieses Pixel wird als letztes abgefragt und legt daher auch das ergebnis fest.
ja aber sogar wenn ich den letzten wert eingebe macht er 000 - und wenn ich dort gleich einen code eingebe dann macht er es richtig- ich weiß auch nicht weiter aber egal ich habe mir schon was anderes überlegt

danke
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Pixel Scannen

  Alt 1. Nov 2003, 16:57
Hai Wadim,

ich habe mir deinen Code jetzt nicht durchgelesen.
Warum? Es wäre einfacher eine Hilfe zu geben wenn Du genau sagst was Du machen möchtest.

In deinem letzen Posting hast Du geschrieben das Du wohl eine Lösung für dein Problem gefunden hast.
Teile diese Lösung doch bitte hier mit. Dann kann jeder der die Suche benutzt daran teilhaben.

Danke
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Wadim

Registriert seit: 31. Aug 2003
185 Beiträge
 
#7

Re: Pixel Scannen

  Alt 1. Nov 2003, 17:04
Zitat von Sharky:
Hai Wadim,

ich habe mir deinen Code jetzt nicht durchgelesen.
Warum? Es wäre einfacher eine Hilfe zu geben wenn Du genau sagst was Du machen möchtest.

In deinem letzen Posting hast Du geschrieben das Du wohl eine Lösung für dein Problem gefunden hast.
Teile diese Lösung doch bitte hier mit. Dann kann jeder der die Suche benutzt daran teilhaben.

Danke
die lösung ist einfach die das ich nur 5 verschiedene farbencode bräuchte- die wollte ich ja per edittext eingeben- aber da das nicht ging hab ich einfach 5 verschiedene befehle geprogge- also das was ganz oben steht 5x und bei jedem einen anderen farbcode.

und per speedbutton schalte ich zwischen den verschiedenen farbcode- das wars eigentlich, ist zwar nicht so wie ich es wollte aber das hat die selbe wirkung.

das wars schon

mfg wadim
  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 20:56 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