AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Benjis kleines Zeichenprogramm

Benjis kleines Zeichenprogramm

Ein Thema von benji316 · begonnen am 2. Jul 2013 · letzter Beitrag vom 13. Mär 2014
Antwort Antwort
benji316

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

AW: Benji´s kleines Zeichenprogramm

  Alt 2. Jul 2013, 16:09
@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
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Benji´s kleines Zeichenprogramm

  Alt 2. Jul 2013, 16:23
Hallo,

mouse.cursorpos gibt dir die globalen Mauskoordinaten.
Du solltest die entweder umrechnen oder die lokalen Koordinaten aus einem MouseMove Event o.ä. benutzen.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

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

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
 
#4

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
 
#5

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
 
#6

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
 
#7

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
 
#8

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
 
#9

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
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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