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
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Benji´s kleines Zeichenprogramm

  Alt 2. Jul 2013, 16:28
... 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
Aber nur weil du die guten Tricks noch nicht kennst.
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);
fork me on Github
  Mit Zitat antworten Zitat
benji316

Registriert seit: 2. Jul 2013
Ort: Rosental an der Kainach
23 Beiträge
 
Delphi XE5 Architect
 
#2

AW: Benji´s kleines Zeichenprogramm

  Alt 2. Jul 2013, 16:39
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
  Mit Zitat antworten Zitat
Benutzerbild von MrMooed
MrMooed

Registriert seit: 18. Feb 2012
101 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Benji´s kleines Zeichenprogramm

  Alt 2. Jul 2013, 16:56
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
Für Tippfaule (wie mich ) könntest du dein TImage auch einfach 'PaintBox1' nennen .. ist bestimmt nicht die schönste Variante, aber schnell
Andernfalls kopiere dir den Quelltext in eine Textverarbeitung und benutze die Funktion "Suchen / Ersetzen" (Strg. + [F])
  Mit Zitat antworten Zitat
benji316

Registriert seit: 2. Jul 2013
Ort: Rosental an der Kainach
23 Beiträge
 
Delphi XE5 Architect
 
#4

AW: Benji´s kleines Zeichenprogramm

  Alt 2. Jul 2013, 17:21
Da hätt ich glatt selber draufkommen können, danke für den Hinweis
So, gleich gibts ne neue Verison, mit exakter Erfassung der Mausposition über screentoclient
  Mit Zitat antworten Zitat
benji316

Registriert seit: 2. Jul 2013
Ort: Rosental an der Kainach
23 Beiträge
 
Delphi XE5 Architect
 
#5

AW: Benji´s kleines Zeichenprogramm

  Alt 2. Jul 2013, 17:28
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
  Mit Zitat antworten Zitat
benji316

Registriert seit: 2. Jul 2013
Ort: Rosental an der Kainach
23 Beiträge
 
Delphi XE5 Architect
 
#6

AW: Benji´s kleines Zeichenprogramm

  Alt 2. Jul 2013, 20:15
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...
  Mit Zitat antworten Zitat
Benutzerbild von MrMooed
MrMooed

Registriert seit: 18. Feb 2012
101 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Benji´s kleines Zeichenprogramm

  Alt 2. Jul 2013, 20:30
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 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
  Mit Zitat antworten Zitat
benji316

Registriert seit: 2. Jul 2013
Ort: Rosental an der Kainach
23 Beiträge
 
Delphi XE5 Architect
 
#8

AW: Benji´s kleines Zeichenprogramm

  Alt 3. Jul 2013, 12:37
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 )


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
  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:41 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