AGB  ·  Datenschutz  ·  Impressum  







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

Scanline x,y Koordinaten falsch?!?

Ein Thema von chrizl08 · begonnen am 16. Sep 2008 · letzter Beitrag vom 17. Sep 2008
Antwort Antwort
chrizl08

Registriert seit: 14. Sep 2008
14 Beiträge
 
#1

Scanline x,y Koordinaten falsch?!?

  Alt 16. Sep 2008, 23:43
Hi,
ich habe folgende Scanline Schleife;
Delphi-Quellcode:
Function FindColor(bmp:TBitmap):TPoint;
type
  PixArray = array[1..3] of Byte;
var
  i, iMax, x, y, w, h: Integer;
  p : ^PixArray;
begin

  Result:=Point(-1,-1);

  Form1.ProgressBar1.Max := bmp.Height-1;

  for y := 0 to bmp.Height-1 do begin
    p := bmp.ScanLine[y];
    Form1.ProgressBar1.Position := y;
    for x := 0 to bmp.Width-1 do begin
      if( (p^[3]=255) AND (p^[2]=0) AND (p^[1]=0) ) then begin
        Showmessage('Gefunden');
        Result := Point(x, y);
        exit;
      end;
      inc(p)
    end;
  end;
end;
Leider liegen die gefundenen Koordinaten immer ca. 300 Pixel rechts neben dem gesuchten Punkt.
Woran liegt das? Am umgekehrten Aufbau von Scanlines?

Danke!!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Scanline x,y Koordinaten falsch?!?

  Alt 17. Sep 2008, 06:55
nein, daran liegt es nicht. Woran es liegt kann man dir so aber auch nicht sagen weil du uns ja jegliche Information die uns helfen könnte verschweigst.
Woher weißt du denn das es 300 Pixel daneben liegt? geschätzt? Kann es nicht sein das die Farbe mehrfach vorkommt?
Und wenn es wirklich 300 Pixel daneben liegt, welche Farbe liegt denn dann an der Stelle die gefunden wird?
Eventuell eine wo die identich mit der gesuchten ist nur das rot und blau vertauscht sind?
Das sind alles Dinge die meine Glaskugel in Betracht zieht weil diese ja nicht weiß was du wirklich suchst und was du findest. Zudem weiß sie auch nicht woher du weißt dass, das Ergebnis genau 300 Pixel daneben liegt oder ob dies eine Schätzung ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
chrizl08

Registriert seit: 14. Sep 2008
14 Beiträge
 
#3

Re: Scanline x,y Koordinaten falsch?!?

  Alt 17. Sep 2008, 09:28
Also ich hab in das bmp die Koordinaten Farbig markiert und dann abgespeichert. In Photoshop geöffnet und nachgemessen ergab dass dann ca. 300 Px, 325 um genau zu sein Die Farbe kommt zwar weiter unten vor aber das sollte kein Problem sein da ich das bmp ja von oben her absuche und direkt beim ersten Treffer stoppe. Je nachdem wie mein Fenster ist, maximiert oder minimiert ist dort dann meistens die Farbe weiß...

Ich hab auch mal einfach die Koordinaten x,y in den Mouse Cursor eingesetzt und mitfahren lassen damit ich sehe wo gerade sich die Schleife befindet und dann geht er jedesmal eben ca. 300 px über den Farbpixel hinaus.

reicht das an Infos?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Scanline x,y Koordinaten falsch?!?

  Alt 17. Sep 2008, 11:12
Hat das Bitmap denn auch das Format pf24bit ??
  Mit Zitat antworten Zitat
chrizl08

Registriert seit: 14. Sep 2008
14 Beiträge
 
#5

Re: Scanline x,y Koordinaten falsch?!?

  Alt 17. Sep 2008, 14:33
das Bitmap hat 32bit, macht das einen Unterschied? Kann gerade leider nicht testen da ich in der Arbeit bin... aber Danke schonmal für den Tipp!
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: Scanline x,y Koordinaten falsch?!?

  Alt 17. Sep 2008, 14:36
Ja - denn dann soltest du dein Array auch 4 Byte groß machen
  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 01:19 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