AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Benjis kleines Zeichenprogramm
Thema durchsuchen
Ansicht
Themen-Optionen

Benjis kleines Zeichenprogramm

Ein Thema von benji316 · begonnen am 2. Jul 2013 · letzter Beitrag vom 13. Mär 2014
Antwort Antwort
Seite 4 von 4   « Erste     234   
benji316
Registriert seit: 2. Jul 2013
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):
http://www.mediafire.com/folder/gsyh...eichenprogramm

Crossposts in anderen Foren:
http://www.entwickler-ecke.de/viewto...er=asc&start=0
http://forum.delphi-treff.de/index.p...58947&e94e96ae
Miniaturansicht angehängter Grafiken
screenshot2_7_13-copy-.png  
Angehängte Dateien
Dateityp: 7z Benjis_kleines_Zeichenprogramm_2.1.7z (10,6 KB, 51x aufgerufen)

Geändert von benji316 (10. Mär 2014 um 12:21 Uhr)
 
benji316

 
Delphi XE5 Architect
 
#31
  Alt 5. Jul 2013, 16:55
Okay, alles klar, es wird nun überall auf die jeweils anderen Threads verlinkt.

Und es gibt eine neue Version(1.4)!
Changelog:
Neue Funktion: Bild in Graustufen umwandeln (dauert ein paar Sekunden, ich habe versucht, den Fortschritt über eine Progressbar darzustellen, bin aber gescheitert)
Die Funktion "Computergeneriertes Bild erstellen" wurde überarbeitet
Keine Access-Violations mehr beim Öffnen einer JPG-Datei
Wenn ein JPG geladen wird, wird nun der Dateipfad in der Form-Caption angezeigt (passiert bei allen anderen Bildtypen schon länger, hab einfach vergessen, es auch hier einzubauen)

Download von exe und Code gibts wie immer hier:
http://www.mediafire.com/folder/gsyh...eichenprogramm
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle
 
#32
  Alt 5. Jul 2013, 21:59
Hi,

ich habe lange überlegt ob ich es schreibe oder einfach stillschweigend die Klappe halte...

... aber wenn du mal Lust und Zeit hast dich auch um die krankhaften Rechtschreibfetischisten unter uns zu kümmern, dann schau doch mal da:

http://einklich.net/etc/apostroph.htm

tl;dnr: Der Apostroph befindet sich zwischen Enter und "Ä". " ` " ist ein französischer Akzent und findet nur zusammen mit anderen Buchstaben gebrauch ("è"). Wer den geraden Apostroph " ' " auf der Tastur nicht mag, kann sich auch des typographischen Apostrophs bedienen: " ’ ". Tatsächlich handelt sich bei "Benjis" aber um einen Genitiv, der im Deutschen nur in seltenen Ausnahmefällen vom Apostroph begleitet wird ("Max' Zeichenprogramm").

Nichts für ungut.

Liebe Grüße,
Valentin
Valentin Voigt
  Mit Zitat antworten Zitat
benji316

 
Delphi XE5 Architect
 
#33
  Alt 7. Jul 2013, 19:00
Okay, alles klar, zumindest im Dateinamen ists nicht mehr drin, und ich hab wieder was dazugelernt

So, die finale Version 2.0 ist da!
Dies wird die endgültige Version bleiben, außer irgendjemand findet irgendwelche gravierenden Bugs

Changelog:
Alle Units haben sprechende Namen
Die Funktion "Computergenerierte Linien erstellen" kann nun konfiguriert werden
Neue Funktion - Bilder invertieren
Ein paar kleinere Bugfixes
Nicht benutzte Variablen und Codefragmente wurden entfernt

Download von Exe und Quellcode (diesmal nur mit pas, dfm und dpr) gibts wie immer hier: http://www.mediafire.com/folder/gsyh...eichenprogramm
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

 
Delphi 2007 Professional
 
#34
  Alt 7. Jul 2013, 19:16
So, die finale Version 2.0 ist da!
Dies wird die endgültige Version bleiben
Schau dir deinen Code mal in einem Jahr an.
Ich bin sicher du findest noch ganz viele Dinge die man verbessern kann so nach dem Motto "mann, was habe ich denn damals für einen Käse programmiert?!" *)

Daher muss ich immer schmunzeln, wenn Programmierer meinen sie hätten die finale Version abgeliefert (es sei denn sie haben das Interesse verloren und machen etwas anderes).

*) wenn es nicht so wäre dann hättest du ja nichts dazugelernt
  Mit Zitat antworten Zitat
benji316

 
Delphi XE5 Architect
 
#35
  Alt 7. Jul 2013, 19:34
Mir würden da schon noch Sachen einfallen, die ich verbessern könnte, aber das wär dann zuviel Arbeit oder ich versteh einfach nicht, wie das geht, Stichwort Scanline..
Aber vorerst möchte ich mich was anderem zuwenden, ich hab schon eine vage Idee, aber mal sehen, was daraus wird, man wird auf jeden Fall noch von mir hören
  Mit Zitat antworten Zitat
benji316

 
Delphi XE5 Architect
 
#36
  Alt 10. Jul 2013, 14:06
Noch ein letztes Update:
Version 2.1:
Die "Wechselnde Stiftfarbe"-Funktion kann nun konfiguriert werden
Es werdne nun verschiedene Cursors verwendet, damit man auch sieht, was man gerade tut:
1 Cursor ist Windows-Standard, einer stammt von hier: http://ulrichhanke.de/00/CursorSammlung.html und zwei wurden aus Paint extrahiert
Das Invertieren eines Bildes geht nun deutlich schneller
Kleinere Bugfixes
  Mit Zitat antworten Zitat
benji316

 
Delphi XE5 Architect
 
#37
  Alt 15. Jul 2013, 21:56
in wirklich letztes Update:
Ein Radieren-Funktion wurde eingefügt, radiert wird mit gedrückter rechter Maustaste.
Außerdem wurde es nun mit Delphi XE3 kompiliert und ist nun entsprechend größer.

Download-Link:
http://www.mediafire.com/index.php#gsyhi84vsfwd4
  Mit Zitat antworten Zitat
benji316

 
Delphi XE5 Architect
 
#38
  Alt 9. Mär 2014, 21:56
So, ich hab mir wieder mal den Quelltext von diesem Programm durchgeschaut und bekam wieder Lust, was zu machen. Vielleicht werd ich in nächster Zeit irgendwann wieder ein Update raushauen, daher würde ich mich über weitere Vorschläge für neue Features freuen
Und heute gibt es auch schonmal ein Update, mit mehreren, kleineren Änderungen (vor allem Ausbesserungen von Schlampigkeitsfehlern^^):


Das Programm merkt sich nun die vorherige Stiftfarbe bei Aktionen, die diese ändern (z.B. Polygon, Rechteck, Computergeneriertes Bild,..)
Das Programm hat nun ein Icon, (erstellt von Umar123, gefunden via iconfinder.com). Das liegt vor allem daran, dass ich das ursprüngliche Icon (Delphi-Standard) iwann gelöscht habe, und Delphi beim öffnen der Projektoptionen jedes Mal gemeckert hat, es kann die Datei nicht finden^^)
Eine temporäre Datei, die bei einer Funktion erstellt wird, ist nun wirklich nur temporär, wird also beim Beenden des Programms wieder gelöscht
Der "Wollen Sie die Datei speichern"-Dialog tritt nur auf, wenn die Datei in ihrer jetzigen Form nicht gespeichert wurde (bisher war es so: wenn die Datei einmal gespeichert wurde, und dann weiter verändert, wurde man beim Beenden nicht zum Speichern aufgefordert
Sonstige kleine Fixes


Download wie immer in meinem Mediafire-Folder: https://www.mediafire.com/#gsyhi84vsfwd4
  Mit Zitat antworten Zitat
benji316

 
Delphi XE5 Architect
 
#39
  Alt 12. Mär 2014, 22:31
Version 2.2.0 ist da!

Changelog:
Man kann nun auch Bilder in den Formaten JPEG, PNG und GIF öffnen, bearbeiten und speichern, der extra Menüpunkt entfällt. Verwendet habe ich dazu TJPEGImage, TPNGImage und TGifImage, die, um Bearbeiten zu ermöglichen, intern zu TBitmap umgewandelt werden. Diese 3 Klassen gibt es allerdings erst seit Delphi 2009, mit älteren Delphi-Versionen lässt sich der Code daher nicht kompilieren!
Dadurch wurde der Menüpunkt "JPEG öffnen" überlüssing und wurde entfernt
Das Programm merkt sich nun auch die Stiftbreite, nicht nur die Stiftfarbe
Zufällige generierte Rechtecke haben jetzt eine zufällige Linienbreite
Die Breite des Radiergummis kann man nun extra einstellen
Bei den Computergenerierten Farbigen Linien wurde die höchstmögliche Linienanzahl begrenzt (auf 7 Stellen, höchstmögliche Anzahl daher 9.999.999), außerdem gibts ab 50.000 Linien eine Warnung, dass höhere Werte dazu führen können, dass das Programm nicht mehr reagiert (1 Million Linien dauern bei mir ca 2 Minuten, während der Berechnung reagiert das Programm nicht, mit mehreren Programmen im Hintergrund dauerts noch länger)
Diverse Code-Verinfachungen

Download wie immer hier:
https://www.mediafire.com/folder/gsy...eichenprogramm

Mir zurzeit bekannte Bugs:
Wenn man ein Bild aus einer Datei lädt, passt sich das Fenster der Größe des Bildes an, sodass das Bild die ganze Zeichenfläche füllt. Aber sobald man das Fenster verschieben will, oder einfach nur auf die Leiste ganz oben klickt, vergrößert es sich komischerweise, aber es maximiert sich auch nicht.

Sonstige Bugs bitte hier reinschreiben

Geändert von benji316 (12. Mär 2014 um 22:37 Uhr)
  Mit Zitat antworten Zitat
Bjoerk

 
Delphi 10.4 Sydney
 
#40
  Alt 13. Mär 2014, 15:10
Hallo Benji,

bist ja richtig fleißig.

Hab mal kurz drüber geschaut. Was du langsam angehen könntest wären ein Zoom und den schrittweisen Aufbau einer Klasse z.B. TBenjiPaint in einer eigenen unit z.B. uBenjiPaint. Die MainForm hat dann nur noch eine Instanz davon und die Paintbox macht nur noch in PaintBox.Paint ein StrechDraw davon. Die Form delgiert also die zu erliegenden Aufgaben an diese Klasse. Dann wären auch die Verschachtelungen der units untereinander nicht mehr so stark weil jede unit (fast) nur noch die uBenjiPaint braucht. Wie man das macht, daß jede unit auf die aktuellen Werte dieser Klasse zugreifen kann muß man sich im Detail näher sehen, ist aber auch kein Hexenwerk.

LG
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 01:58 Uhr.
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