Hallo brechi,
Wenn ich mich einarbeiten würde, würds mir bestimmt helfen... aber ich will auch kein Haus bauen, indem ich eins kaufe/miete/runterlade...
Also ich will keine fertige Lösung haben^^
Naja, bin mittlerweile so weit mit meinen Graustufen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
X,
Y:integer;
R,
G,
B,
Hell:Byte;
DHell:int64;
begin
DHell:=0;
for Y:=0 to Image1.Picture.Height do
for X:=0 to Image1.Picture.Width do
begin
R:=GetRValue(Image1.Picture.Bitmap.Canvas.Pixels[X, Y]);
G:=GetGValue(Image1.Picture.Bitmap.Canvas.Pixels[X, Y]);
B:=GetBValue(Image1.Picture.Bitmap.Canvas.Pixels[X, Y]);
Hell:=(R+G+B)div 3;
Image1.Picture.Bitmap.Canvas.Pixels[X, Y]:=Hell;
DHell:=DHell+Hell;
end;
DHell:=DHell div (Image1.Picture.Height*Image1.Picture.Width);
for Y:=0 to Image1.Picture.Height do
for X:=0 to Image1.Picture.Width do
begin
R:=Image1.Picture.Bitmap.Canvas.Pixels[X, Y];
if(R > DHell)
then Image1.Picture.Bitmap.Canvas.Pixels[X, Y]:=clWhite
else Image1.Picture.Bitmap.Canvas.Pixels[X, Y]:=clBlack;
end;
end;
Nun, Fraaa~gen:
1. Wie optimiert man das? Da war mal iiirrrggeeennndddwwwaaannnnnnn was mit ScanLine oder so... ähnlich... Wie geht des nochmaaa~l? Kann ich mir nicht sowieso irgendwie eine Zeile davon sparen?
2. Schießt ein Bild von euch und lasst den Code drüberrennen... Wie würdet ihr jetzt ein Programm nach euren Augen suchen lassen? Alternativ bietet sich das Bild im Anhang an.
So, hoffe mal wieder auf Antworten!
Der LDer.