![]() |
Benjis kleines Zeichenprogramm
Liste der Anhänge anzeigen (Anzahl: 2)
Mein kleines Zeichenprogramm, ähnlich wie Paint, und es beherrscht auch die meisten Funktionen von Paint.
Enstanden ist es als Übungsprojekt für meine Informatik-Matura, für die ich mich mit einfachen 2D-Grafiken in Delphi beschäftigt habe, und dann kam irgendwann mal die Idee, einfach mal ein simples Zeichenprogramm wie Paint zu erstellen, und mit der Zeit wurde es immer umfangreicher (inzwischen besteht es aus 502 Zeilen Code, mein größtes Projekt bis jetzt :)) Features (Auswahl): Mit gedrückter Mastaste zeichnen, Stiftfarbe und Breite verändern, Rechtecke und Polygone aufziehen, Bilder als Bitmap speichern und öffnen, usw. Bugs bitte melden! Die aktuelle Version des Programms und den Sourcecode kann man separat von meinem Mediafire-Ordner downloaden (im Anhang befindet sich nur der Quellcode): ![]() Crossposts in anderen Foren: ![]() ![]() |
AW: Benji´s kleines Zeichenprogramm
Zwei Dinge:
* gib den ganzen Units, Formularen und Komponenten mal vernünftige Namen. Unit1,Unit2,...Unit7 - das geht ja mal gar nicht. * Rücke den Sourcecode sauber ein und verwende diese Einrückung durchgängig überall. Die VCL verwendet 2 Leerzeichen pro Einrücktiefe. |
AW: Benji´s kleines Zeichenprogramm
Ich habe auf die Schnelle vorhin versucht, es über diesen komischen Host herunterzuladen, bin aber gescheitert. Jetzt immerhin mit Bild, Danke dafür :-)
Kannst du es nicht auch hier als Anhang hochladen? |
AW: Benji´s kleines Zeichenprogramm
Hey,
cooles Programm :thumb: Was mir so spontan an Fehlverhalten aufgefallen ist:
Was du noch verbessern/ einbringen könntest:
|
AW: Benji´s kleines Zeichenprogramm
@Günther:Ich hab es auf mehreren Foren hochgeladen, und da bei jeder neuen Version überall zu aktualisieren ist etwas umständlich, deshalb über Mediafire, aber es müsste normalerweise gehen, dass wenn man auf den Dateinamen klickt, zu einer Seite weitergeleitet wird, wo mans dann downloaden kann.
Und aufs Einrücken und Benennen wurde ich auch schon woanders hingewiesen, bin grade dabei ;) @MrMooed: Ich verwende ja moveto und lineto, und wenn ich zur mit Delphi ermittelten Mausposition (mouse.cursorpos) hinzeichne, ist es um ca. 25 Pixel daneben, deshalb hab ich von der y-Koordinate einfach 25 abgezogen, dann passts bei mir. Und das mit dem Minimieren ist mir bekannt, darum ist auch das entsprechende Bordericon nicht vorhanden ;). Und das mit dem Überdecken ist, weil ich eine Paintbox verwende, ich hätte von Anfang ein ein TImage verwenden sollen, das werd ich wahrscheinlich demnächst mal umändern, wird ein Haufen Schreibarbeit bedeuten :| Und das mit der Toolbar werd ich mir mal ansehn ;) |
AW: Benji´s kleines Zeichenprogramm
Hallo,
mouse.cursorpos gibt dir die globalen Mauskoordinaten. Du solltest die entweder umrechnen oder die lokalen Koordinaten aus einem MouseMove Event o.ä. benutzen. |
AW: Benji´s kleines Zeichenprogramm
Zitat:
Wenn du der Procedure die das Zeug zeichnet ein Canvas-Objekt übergeben würdest, dann könntest du an einer einzigen Stelle von Paintbox auf Image umschalten:
Delphi-Quellcode:
Procedure TForm1.ZeichneAlles(ACanvas:TCanvas);
begin // hier auf "ACanvas" zeichnen end; // und an anderer Stelle ZeichneAlles(PaintBox1.Canvas); // lässt sich leicht ersetzen durch ZeichneAlles(Image1.Bitmap.Canvas); |
AW: Benji´s kleines Zeichenprogramm
Da ich aber von Anfang an auf die Paintbox gezeichnet habe, muss ich 100te Male "paintbox1" durch irgendeinen anderen Namen ersetzen.
Und um die Mausposition werd ich mich dann gleich mal kümmern ;) |
AW: Benji´s kleines Zeichenprogramm
Zitat:
Andernfalls kopiere dir den Quelltext in eine Textverarbeitung und benutze die Funktion "Suchen / Ersetzen" (Strg. + [F]) |
AW: Benji´s kleines Zeichenprogramm
Da hätt ich glatt selber draufkommen können, danke für den Hinweis :D
So, gleich gibts ne neue Verison, mit exakter Erfassung der Mausposition über screentoclient ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 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