Rozjaśnianie zdjęć w Delphi

0

Napisałem w Delphi program, który przechowuje w zniennej kolor:TColor wartość koloru piksela bitmapy. Chciałbym przekształcić tą zmienną na wartość RGB i dodać wartość 100 (r+100, g+100, b+100). W jaki sposób to zrobić?

Program, który napisałem:

var
kolor : TColor;
bitmap : TBitmap;

Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('plik.bmp');
Canvas.Draw(0, 0, Bitmap);
kolor := Canvas.pixels[0, 0];
Canvas.pixels[0, 0] := ??? //RGB(kolor.R+100, kolor.G+100, kolor.B+100)
Bitmap.Free;

0

Chyba tak:

{...}
kolor := ColorToRGB(Canvas.pixels[0, 0]);
Canvas.pixels[0, 0] := RGB(GetRValue(kolor)+100, GetGValue(kolor)+100, GetBValue?(kolor)+100)

[dopisane]
Gorzej jak wartosć przekroczy 255... ale z tym sam już sobieradź :-P

0

A w jaki sposób pobrać kolor piksela obrazka znajdującego się na formularzu, znając tylko nazwe tej formy?

Mój kod nie działa dlaczego?

bitmap := TBitmap.Create;
canvas.Handle := FindWindow(nil, 'nazwa_formy');
kolor := canvas.Pixels[1, 1]; //kolor równy jest wartości -1
...

1 użytkowników online, w tym zalogowanych: 0, gości: 1