Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Benjis kleines Zeichenprogramm (https://www.delphipraxis.net/175584-benjis-kleines-zeichenprogramm.html)

benji316 2. Jul 2013 17:28

AW: Benji´s kleines Zeichenprogramm
 
So, neue Version, mit exakter Erfassung der Mausposition, ein paar Benennungen und vielen Einrückungen beim Code zwecks besserer Lesbarkeit. Downloadlink ist im ersten Post.
Als nächstes werd ich mich dann mal um die Paintbox-Image-Geschichte kümmern ;)

benji316 2. Jul 2013 20:15

AW: Benji´s kleines Zeichenprogramm
 
Wieder neue Version, bin jetzt von der Paintbox auf ein TImage umgestiegen, ohne Probleme ;)
Ein Bug exisitiert leider noch: Im Polygon ist IMMER der Punkt (0,0) enthalten, aber warum, ich versteh´s nicht...

MrMooed 2. Jul 2013 20:30

AW: Benji´s kleines Zeichenprogramm
 
Zitat:

Zitat von benji316 (Beitrag 1220477)
Wieder neue Version, bin jetzt von der Paintbox auf ein TImage umgestiegen, ohne Probleme ;)
Ein Bug exisitiert leider noch: Im Polygon ist IMMER der Punkt (0,0) enthalten, aber warum, ich versteh´s nicht...

Das liegt dadran, dass du ein statisches Array verwendest. Bei der Initialisierung bekommt jedes deiner 100 Element in dem Array den Wert (0|0) zugewiesen. Zeichnest du nun ein Polygon und hast z.B. nur 5 Punkte ausgewählt, ändern sich deine ersten 5 Koordinaten - doch die restlich 95 haben immer noch die Koordinaten (0|0).

Hoffentlich habe ich mich nicht unklar ausgedrückt :oops: vielleicht verwendest du besser eine dynamische Datenstruktur (Liste, Queue, Stack, dyn. Array, ..) Damit müsstest du dein Polygon auch nicht auf "nur" 100 Punkte begrenzen :thumb:

benji316 3. Jul 2013 12:37

AW: Benji´s kleines Zeichenprogramm
 
Update:
Das Programm sollte nun komplett Bug-frei sein (alles funktioniert wie es soll, aber es ist leider immer noch möglich, es an einigen Stellen gezielt abstürzen zu lassen, werd mich heute noch darum kümmern ;)) hat ab sofort eine Versionsnummer (1.0) sowie eine Dateibeschreibung (sieht man unter den Eigenschaften oder wenn man mit dem Cursor drauf bleibt).
Weiters verwende ich nun den OpenPicture- bzw. SavePicture-Dialog, man kann Dateien nun als JPG, BMP, ICO, EMF und WMF speichern und auch solche Dateitypen öffnen (hätte ich gleich von Anfang an machen sollen, aber besser spät als nie :D)


Wenn ihr dennoch Bugs findet, bitte hier reinschreiben!
Falls jemand Vorschläge für neue Features hat, teilt sie mir mit!

Aktuelle ToDo-List:
Durch User hervorgerufene Abstürze verhindern
Die Computergeneriertes-Bild-Funktion leicht verändern
Funktion hinzufügen, um ein Bild in Graustufen umzuwandeln
Namen verändern
(evtl Toolbar statt MainMenu verwenden)

@MrMooed: Danke für den Tipp, du hast dich ganz klar ausgedrückt, Bug ist behoben :D

MrMooed 3. Jul 2013 13:05

AW: Benji´s kleines Zeichenprogramm
 
  • Minimiert man das Fenster und wählt das Computer generierte Bild, zeichnet er nur auf dem Ausschnitt, den man auch betrachten kann.
  • Speichert man das aktuelle Bild und möchte dann die Anwendung schließen, wird trotzdem nachgefragt ob man das Bild speichern möchte :gruebel:

It's not a bug - it's a feature :lol:

DeddyH 3. Jul 2013 13:57

AW: Benji´s kleines Zeichenprogramm
 
Zitat:

Zitat von benji316 (Beitrag 1220576)
Das Programm sollte nun komplett Bug-frei sein

Diesen Satz habe ich von erfahrenen Programmierern noch nie gehört, die werden schon wissen, wieso ;)

benji316 3. Jul 2013 19:08

AW: Benji´s kleines Zeichenprogramm
 
Für das computergenerierte Bild werden mit moveto hnd lineto Striche gezeichnet, und zwar zu einer Position im Bereich des Images, und da das Image die Ausrichtung "alclient" hat, ist es immer so groß wie das Fenster, ich könnte auch einfach einen festen Wert für die Zufallsberechung nehmen, aber je nach Bildschirmauflösung werden dann unnötige Striche gezeichnet...
Und der Speicher-Dialog kommt immer, sobald man irgendetwas gezeichnet hat, da werd ich mir was besseres einfallen lassen ;)

EDIT: Hab grade gesehen, dass man ganz einfach die aktuelle Bildschirmauflösung auslesen kann, also ist die jetzt die obere Grenze des Zufallsbereichs ;)

MrMooed 3. Jul 2013 19:41

AW: Benji´s kleines Zeichenprogramm
 
Zitat:

Zitat von benji316 (Beitrag 1220652)
Für das computergenerierte Bild werden mit moveto hnd lineto Striche gezeichnet, und zwar zu einer Position im Bereich des Images, und da das Image die Ausrichtung "alclient" hat, ist es immer so groß wie das Fenster, ich könnte auch einfach einen festen Wert für die Zufallsberechung nehmen, aber je nach Bildschirmauflösung werden dann unnötige Striche gezeichnet...

Warum so kompliziert ?
Zitat:

Zitat von MrMooed (Beitrag 1220443)
Was du noch verbessern/ einbringen könntest:
  • verschiedene Auflösungen. Öffnest du z.B. ein Icon (256x256) und möchtest es überarbeitet wieder abspeichern, nimmt er die Höhe und Breite deiner Form :wink:
  • es ist "unschön" sich durch das TMainMenu durchzuwursteln, bis man die Option gefunden hat. Gerade dazu predestiniert finde ich eine TToolBar. Wie man sie nutzen kann guckstu hier bzw. hier

Wenn du eine bestimmte Größe für dein Bild eingeben lässt, hättest du genauso deine Grenzen - und eine Benutzer definierte Größe seines "Kunstwerkes" :stupid:

benji316 3. Jul 2013 21:01

AW: Benji´s kleines Zeichenprogramm
 
Danke für den Tipp, habs derweil mit der Bildschirmauflösung berechnet. Aber wenn ich das so mache, dann mache ich gleich eine eigene Konfiguraions-Form für die Computer-generiertes-BIld-Funktion ;)

Neue Version (1.1.2 Beta), hier der Changelog:

Die Funktion "Computergeneriertes Bild erstellen" wurde überarbeitet, damit die Rechtecke nicht immer im Vordergrund sind
JPEG öffnen wird unterstützt, man kann sie aber nicht bearbeiten (geht nur für Bitmaps) ich werde versuchen, eine Funktion zur Umwandlung einzubauen
Stiftbreite wird nun über eine Scrollbar festgelegt, in einer Paintbox daneben sieht man, wie dick eine Linie dann ist
Wenn man ein Bild einmal gespeichert hat, wird man beim Beenden des Programms nicht mehr gefragt, ob man es speichern möchte

benji316 3. Jul 2013 22:30

AW: Benji´s kleines Zeichenprogramm
 
Neue Version (1.2 Beta)
Text-Ausgabe wurde komplett überarbeitet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:55 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz