AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Konzeptionelle Frage: einfaches "Zeichenprogramm"
Thema durchsuchen
Ansicht
Themen-Optionen

Konzeptionelle Frage: einfaches "Zeichenprogramm"

Ein Thema von cltom · begonnen am 12. Jul 2007 · letzter Beitrag vom 13. Jul 2007
Antwort Antwort
Stephan

Registriert seit: 28. Jun 2002
Ort: Tuttlingen
245 Beiträge
 
Delphi 2007 Professional
 
#1

Re: Konzeptionelle Frage: einfaches "Zeichenprogramm&am

  Alt 13. Jul 2007, 11:28
Hallo tom,

Ich hatte sowas in die Richtung schonmal programmiert. Verwendet hatte ich hierfür eine TPaintBox da hier Zeichenoperationen einfach viel schneller sind als in einem TImage. Gezeichnet habe ich alles in einer einzigen TPaintBox. Da allerdings mehrere Zeichenoperationen ein unangenehmes Flackern hervorrufen, habe ich nicht direkt in die PaintBox sondern in ein TBitmap gezeichnet. Anschließend habe ich das TBitmap auf die Zeichenoberfläche der PaintBox kopiert. Dies hat auch noch den Vorteil, dass du im OnPaint Ereignis der PaintBox den Inhalt aus dem Bitmap direkt wieder in die PaintBox einfügen kannst (ansonsten würde der Inhalt der PaintBox verschwinden, wenn du ein anderes Fenster darüber ziehst). Ich hatte damals aus Performancegründen mehrere Schichten von TBitmap's verwendet. Nur als kleines Beispiel: Ich hatte in der Zeichenoberfläche ein kleines Raster eingeblendet. Damit dieses Raster nicht jedes mal neu gezeichnet werden muss (das würde sonst sehr lange dauern), habe ich dieses in ein TBitmap gespeichert. Nun wurde dieses Raster aus dem ersten TBitmap in ein zweites kopiert und anschließend wurden diverse Objekte aus irgendwelchen Arrays oder Records eingezeichnet. Zu guter letzt wurde der Inhalt in die Paintbox kopiert. Das ganze war sehr schnell und es hat absolut nichts geflackert.

Zitat:
aber darum die Frage: macht das Sinn? Das Rad hier zum 10^7 mal neu erfinden?
Das kommt darauf an, was du genau vor hast. Das Selbermachen wäre natürlich mit einem gewissen Lernerfolg verknüpft. Wenn du allerdings schnell zu deinem Ziel kommen willst, dann wärst du vielleicht mit einer fertigen Bibliothek besser bedient. Du darfst auch nicht vergessen, dass du mit der oberen Methode zwar alles einzeichnen kannst, allerdings kannst du im Moment noch keine Objekte anklicken, verschieben usw. Hier musst du eben entsprechende Routinen in "OnClick" einbauen, welche anhand der Koordinaten des Mauszeigers das passende Objekt heraussuchen.
viele Grüße

Stephan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 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