Registriert seit: 27. Okt 2003
Ort: Wehingen
258 Beiträge
Turbo Delphi für Win32
|
CAD-Oberfläche
27. Mai 2006, 17:15
Hallo,
Ich hab ein CAD-Programm gebastelt und mach mir zurzeit noch gedanken wegen der Darstllung, sprich dem zeichnen.
Bisher habe ich ein TImage auf dem ich am ende zeichne. dann habe ich 2 puffer B1 und B2 (TBitmap) in die die beiden objekte die später gezeichnet werden sollen gepuffert sind. jetzt habe ich ein weiterer puffer B (TBitmap) in den ich alles reinmale, sprich linien und die objekte B1 und B2. dann wird B ber BitBlt in Image1.Canvas reinübernommen.
Soweit so gut.
Jetzt sollen aber die beiden B1 und B2 transparent auf B gemalt werden, d.h. die objekte eigentlich sind grün und des durchsichtbare ist clFuchsia-farbig. Wenn ich aber die zeichne mit B.Canvas.Draw(0,0,B1) dann dauert des ewig und wenn ich halt so 50 oder 100 objekte hab die gezeichnet werden sollen benötigt des programm ziemlich viel cpu last, grad beim scrollen da ich ja da alle objekte neu zeichnen muss.
Gibts ne möglichkeit mit BitBlt oder ähnlich durchsichtig zu zeichnen? oder soll ich des ganz anders machen?
Thanks in advance!
-dominik
|