Mam procedure konwertującą imaga na grayscale (zara jom podam) i chodzi mi oto żeby była szybsza a naprawde długo sie robi! przy 1024 na 768 nawet sporo trwa!!! dało by sie na assemblera przeżucić?
[code]
procedure Grayscale(rysunek:timage);
var i,j:word;
function RgbToGray(RGBColor : TColor): TColor;
var
Gray : byte;
begin
Gray := Round((0.30 * GetRValue(RGBColor)) + (0.59 * GetGValue(RGBColor)) + (0.11 * GetBValue(RGBColor)));
Result := RGB(Gray, Gray, Gray);
end;
begin
for i:=1 to rysunek.width do
for j:=1 to rysunek.height do
rysunek.Canvas.Pixels[i,j]:=rgbtogray(rysunek.canvas.pixels[i,j]);
end;
[/code]
tak to mniej więcej wygląda :-|
--
Najpierw wypróbuj wszystkie możliwości potem pytaj;)