![]() |
CAD-Oberfläche
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 |
Re: CAD-Oberfläche
Hallo Dominik, vielliecht ist
![]() |
Re: CAD-Oberfläche
|
Re: CAD-Oberfläche
@arbu man:
Das sieht sehr vielversprechend aus. Allerdings komm ich nicht weiter, wie kann ich jetzt ein TBitmap32 transparent kopieren? (kopieren tu ich ja mit TBitmap32.draw() anstatt TBitmap32.canvas.draw() oder?) mfg, dominik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz