Autor Téma: Kreslení na podklad  (Přečteno 870 krát)

Offline pospisil.lada

  • Plnoletý
  • ***
  • Příspěvků: 155
  • Karma: 2
    • Verze Delphi: D7
Kreslení na podklad
« kdy: 20-09-2012, 14:15:52 »
Prosím o pomoc s následujícím:
Potřebuji kreslit na podklad jiné aplikace - konkrétně: otevřu soubor s obrazem výkresu (v PDF, PAINT, jedno jest), a na tomto podkladu potřebuji pomocí myši vykreslit bod, přímku, polygon, opět jedno jest. Pomocí kalibrace pak budu počítat skutečné délky. Řeším to (asi hoodně vachrlatě) tak, že mám alfablend formu na hodnotě 1, form přes celou obrazovku a vykresluji na handle obrazovky takhle nějak ....
Kód: Delphi [Vybrat]
  1. procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  2.   Shift: TShiftState; X, Y: Integer);
  3. begin
  4.   with TCanvas.Create do
  5.   try
  6.     Handle:= GetDC(0);
  7.     Ellipse(x-5,y-5,x+5,y+5);
  8.   finally
  9.     Free;
  10.   end;
  11.  
  12. end;

co mousedown, to jeden bod a pak si budu počítat to svoje.
Tento způsob  vykreslování se mi ale jeví jako pěkná prasárna, jinak ale neumím. Je nějaký jednodušší způsob?
Díky moc předem.

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1136
  • Karma: 42
    • Verze Delphi: 7, 2010
Re:Kreslení na podklad
« Odpověď #1 kdy: 23-09-2012, 09:26:37 »
co presne neumis? kreslit cary nebo kreslit na plochu pod tim?

Cary snad s Canvas nejsou problem, to druhe se nazyva OSD, mrkni
http://www.delphigeist.com/2010/09/osd-component.html