Oto kolejny problem, który doprowadza mnie skutecznie do łysiny.
Postaram się to jakoś zobrazować.
Mam Panel o rozmiarach 1000x500. Na panelu mam Image o rozmiarach 150x50. Image znajduje się w pozycji 500x250 (left top)
W obrębie tego image'a mam różne komponenty. Chcę zapisać do pliku to, co jest właśnie w jego obrębie. Tworzę sobie obiekt TBitmap, który ma rozmiary panela i rysuje na nim w kolejności wszystkie grafiki, które się znajdują na panelu.
Następnie tworzę sobie drugi TBitmap, który ma za zadanie zapisać do pliku konkretny wycinek pierwszego TBitmap:
bmp.Width:=Image.Width;
bmp.Height:=Image.Height;
bmp.Canvas.CopyRect(Rect(0, 0, bmp.Width, bmp.Height), sourceBmp.Canvas, Rect(Image.Left, Image.Top, Image.Width, Image.Height));
bmp.SaveToFile(Filename);
I powiedzcie proszę, co tu jest źle? Efektem wykonania tego kodu jest pusta bitmapa o odpowiednich rozmiarach(150x50). Jednak, gdy zapiszę sourceBmp(sourceBmp.SaveToFile), to mam bitmapę 1000x500 ze wszystkimi grafikami w odpowienich miejscach. Dlaczego mi ten CopyRect nie działa? Jakieś propozycje?