k prvému dotazu: posledný parameter máš zle, má byť tiež iba 17 a nie (i-1)*Diel+(i-1)*2+17. V prvej iterácii ti to víjde, lebo i-1 je nula tak sa všetky tie členy rovnajú nule a bude to iba tých 17. V ďalších iteráciach už nie. Ak nevieš prečo to má byť 17, tak si pozri dokumentáciu k tej funkcii
k druhému dotazu: pokiaľ mi je známe, žiadna taká funkcia neexistuje (v základných knižniciach). Stačí však od 255 odrátať hodnotu každého pixela, takže nejak takto
Kód: Vybrať všetko
.
.
.
for height := 0 to AnImage.Picture.Bitmap.Height - 1 do
begin
P := AnImage.Picture.Bitmap.ScanLine[height];
for width := 0 to BytesPorScan - 1 do
P^[width] := 255-P^[width];
end;
.
.
.
kde AnImage je príslušný obrázok v bmp. Je to iba ukážka, ak tam máš len jeden pixel tak to nebude v cykle a so scanom riadkov... Ale logiku som ti chcel radšej ukázať na celom obrázku nech nevzniknú nové otázky
