Canvas-CopyRect !

0

Czesc!
Mam taki problem - program rysuje wykres na canvasie formy 1 a jak chce miec ten sam wykres na formie drugiej.Dodam ze na drugiej formie bedzie ten wlasnie wykres i jeszcze pare tabel nie tylko sam wykres.Myslalem czy aby nie skorzystac z Copyrect ale nie wiem jakie dane wprowadzic aby poprawnie dzialalo.Prosze o pomoc

1
Form2.Image1.Canvas.CopyRect(
Rect(0,0,Form1.Image1.Width,Form1.Image1.Height), //Żródło z jakiego kopiujesz (wspolrzedne prostokata jaki kopiujesz)
Form1.Image1.Canvas, //Canvas tego źródła
Rect(0,0,Form2.Image1.Width,Form2.Image1.Height))); //gdzie kopiujesz

P.S. Ilosc nawiasow na koncu moze sie nie zgadzac :)

0

Dzieki wszystko dziala :)) za duzo o jeden nawias:))
Pozdrawiam!

0

Chcialbym zrealizowac kopiowanie zawartosci plotna do schowka systemowego - najpierw aby stworzona byla bitmapa, pozniej do bitmapy wczytalo zawartosc i ostaecznie skopiowalo zawartosc bitmapy do schowka:

procedure TForm1.KopiujobrazClick(Sender: TObject);
var
  Bitmapa:TBitmap;
begin
  Bitmapa:=TBitmap.create;
  Bitmapa.width:=form1.Wykres.Width;
  Bitmapa.height:=form1.Wykres.Height;
  bitmapa.Canvas.CopyRect(Rect(0,0,Form1.Wykres.Width,Form1.Wykres.Height),Form1.Wykres.Canvas,clientrect);
  clipboard.assign(Bitmapa);
  Bitmapa.free;
end;

No i cos knoce z CopyRect - w nawiasie pierwsze to obszar zrodla, drugi zrodlo trzecie obszar wynikowego. Form1.Wykres to Paintbox ktorego zawartosc chce zrzucic do bitmapy jednak efekt powyzszego kodu to zrzut ekranowy canvasa form1 - co robie nie tak?

1

pewnie już tego nie przeczytasz ale napisze dla innych:

zamiast ClientRect wpisz: Rect(0,0,Form1.Wykres.Width,Form1.Wykres.Height) i będzie działać. Powodzenia.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.