![]() |
Scanline: Punkt finden
Hi,
wie kann ich schnell via Scanline ein Bild nach einen roten Punkt durchsuchen und dann die Position von dessen herausfinden? MFG Lars Wiltfang |
Re: Scanline: Punkt finden
hi,
wenn du dir das hier auf deine Bedürfnisse umbaust, solltest du das herausbekommen. In dem Beispiel wird halt ein Pixel rot eingefärbt. mit kurzem überlegen dürfte das dann aber klappen: ![]() HTH Gruß Ansgar |
Re: Scanline: Punkt finden
Abgesehen davon muss man sich im Vorfeld überlegen, was ein "roter Punkt" eigentlich ist (Farb-Annäherung).
|
Re: Scanline: Punkt finden
Zitat:
|
Re: Scanline: Punkt finden
statt p^[3] etwas zuzuweisen, prüfst du halt die Farbwerte. Ich verstehe nicht wo dein problem ist, und "geht nicht" ist auch keine hinreichende Beschreibung (d)eines Problems
|
Re: Scanline: Punkt finden
Zitat:
|
Re: Scanline: Punkt finden
du musst erstmal das hier für dich klären
Zitat:
dann musst du doch einfach den Teil aus dem Tutorial, wo der wert zugewiesen wird umbauen und danach abfragen. Beispiel(ungetestet):
Delphi-Quellcode:
procedure TForm1.MakeRed(Bit: TBitmap);
type PixArray = array [1..3] of Byte; var p: ^PixArray; h,w: Integer; begin for h:=0 to Bit.Height-1 do begin p:= Bit.ScanLine[h]; for w:=0 to Bit.Width-1 do begin if (p^[3]=255) then begin showmessage('Juchhu!!! Zeile: ' + IntToStr(h) + ' Spalte ' + IntToStr(w)); end; Inc(p); end; end; end; [EDIT] 20mins... da kann man auch mal länger suchen ;) [edit 2] Zitat:
Delphi-Quellcode:
p^[1] // Entspricht dem Blau-Anteil
p^[2] // Entspricht dem Grün-Anteil p^[3] // Entspricht dem Rot-Anteil |
Re: Scanline: Punkt finden
Zitat:
|
Re: Scanline: Punkt finden
Hallo Lars,
versuch doch einmal heraus zu bekommen welche Werte Dein "roter" Stift hat. Zitat:
K-H |
Re: Scanline: Punkt finden
Das heißt also, rot ist nicht (nur) clRed. Ich würde es dann als "rot" bezeichnen, wenn die Grün- und Blauanteile recht niedrig, der Rotanteil aber ziemlich hoch ist. Wo man nun bei den beiden Begriffen "recht" und "ziemlich" aus dem vorherigen Satz die Grenze setzt, das ist die Kunst.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz