Farhauswertung
-
Hallo ...
Pic ist vom Typ Graphics::TBitmap
value ist vom Typ PRGBTripleich mache folgendes:
Pic->Assign(TImage::Componente->Picture->Bitmap);
for (y=0; y < Pic.Height; y++)
{
value = (PRGBTriple) Pic->ScanLine[y];
for (x=0; x < Pic.Width; x++)
{
if ((value[x].rgbtBlue==0)&&
(value[x].rgbtGreen==0)&&
(value[x].rgbtRed==0))
{
TForm->ListBox1->Items->Add(IntToStr(x)+" "+IntToStr(y));
}
}
}Ich dachte, dass dieser Code mir die Coordinaten ausgibt, wo in dem Bild ein Schwarzer Punkt ist. Ich habe mir extra ein JPG Bild gemacht von 10x10 Pixel und eine Diagonale mit Schwarz gesetzt. Aber die ListBox bleibt leer. Woran kann das liegen ???
Weil es im Ursprung ein JPG Bild ist ? Wird ja in ein Bitmap konvertiert oder irre ich da schon wieder?Danke fuer Hilfe
msgbeep
-
Wo wird das konvertiert???
in TImage ist ein JPeg- Bild?
DANN IST IN
Picture->Bitmapein leeres Bitmap (weiss, klein ... ???)!!!
Du musst Hoehe und Breite von Pic->Bitmap selbst einstellen.
Dann muss mit Draw das Bild aus Image-> .... in das Bitmap gezeichnet werden.Dann haste die Pixel drin.
-
Nene, hast es nicht richtig verstanden.
Also im Picture->Bitmap ist noch ein JPG drin.
Leider
Aber das stoert nicht. Meine Anzeige der ListBox blieb ja leer, weil ich meine Epsilon Umgebung konkret auf einen Wert beschraenkt hatte, die "0".
Ich habe mir mal die rgb Werte ausgeben lassen von meinen 10x10 Bild.
Die Diagonale enthaelt da sehr typische JPG werte.rgb
001
234
245
213
...
001[Edit]
Ist ja sowas wie ein Farbverlauf drin. Scheint mir so.(sollte es aber nicht).
Das Original Bild was ich auswerten will, ist vorher mittels BCB in das Image gezeichnet worden und sollte doch dann keine solch grossen Schwankungen enthalten. Aber das muss ich testen.
[Edit]Also wirklich JPG Typisch. Da ist schwaz nicht gleich 000. leider. Deswegen werde ich auch auf die GIF Library umsteigen und dann sollte die Konvertierung in des Bitmaps in ein GIF doch funktionieren wie es hier im Forum in der FAQ steht. Oder nicht ?
Es sei ich erweitere Meine Epsilon Umgebeung beim JPG Bild von "0" auf "0-x"
wobei x ja bis 10 oder sogar hoeher liegen kann.
Wenn also alle werte so aussehen, dann kann ich idialisiert davon ausgehen, es handelt sich um einen schwarzen Punkte !
-
Mit dem erweitern der Epsilon Umgebung hat es schon geklappt.
IN meinem 10x10 Bild zeigt er nun die Koordinatenpaarung an, die erwartet wurde.
mit x=y!msgbeep