Mam pytanie co powinienem zrobić zeby mi to w końcu zaczęło działać?
Problem mam nastepujący:
Wstęp:
Wczytuję obrazek (bmp) do Imaga i sobie robie z niego negatyw za pomocą procedury którą tu przytaczam.
procedure TForm1.Button2Click(Sender: TObject);
begin
if iNegatyw(Image1.Picture.Bitmap)<>0 then
ShowMessage('Błąd!!!');
Image1.Refresh;
end;
function iNegatyw(_bmp:TBitmap):integer;
var
x,y:integer;
l:PByteArray;
begin
if _bmp.PixelFormat=pf8bit then
begin
for y:=0 to _bmp.Height-1 do
begin
l:=_bmp.ScanLine[y];
for x:=0 to _bmp.Width-1 do
l[x]:=not l[x];
end;
begin
result:=-1;
Exit;
end;
result:=0;
end;
Problem pojawia się wtedy gdy chcę robić na <ort>bieŻąco (Boże, widzisz takie błędy i nie grzmisz)</ort> negaty z filmu wyświetlanego na komponencie Panel.
(wiem ze mogę skopiować ramkę Canvasa z parametrami Panel.CleintRect ale to dalej nie jest Bitmapa którą mogę obrabiać za pomocą funkcji)
i w związku z tym moje pytanie brzmi :
Gdzie powinienem zmienić bo mam tak
Image1.picture.bitmap.canvas.copyrect(Dest,TempCanvas,Source);
gdzie SOURCE:=Panel1.ClientRect;
Dest:=Image1.ClientRect;
TempCanvas:=copy canvasa panela
Mam nadzieje ze nie zamotałem za bardzo jak moze mi ktoś wskazać coś konkretnie to z góry dzieki Pozd Seba
// Na przyszłość używaj tagu delphi - do wyświetlania kodu... - detox