Delphi-PRAXiS
Seite 3 von 4     123 4      

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)

Medium 3. Jul 2013 23:50

AW: Benji´s kleines Zeichenprogramm
 
Zitat:

Zitat von benji316 (Beitrag 1220668)
JPEG öffnen wird unterstützt, man kann sie aber nicht bearbeiten (geht nur für Bitmaps) ich werde versuchen, eine Funktion zur Umwandlung einzubauen

Delphi-Quellcode:
var
  aBMP: TBitmap;
  aJPG: TJPEGImage;
begin
  aJPG := TJPEGIMage.Create;
  aJPGImage.LoadFromFile(FilePath);
  aBMP := TBitmap.Create;
  aBMP.Assign(aJPG);
  DoWhatYouDoWithBitmaps(aBMP);
  ...
end;

benji316 4. Jul 2013 15:32

AW: Benji´s kleines Zeichenprogramm
 
Danke für das Beispiel, habs aber auch so herausgefunden ;)

Nun gibts ein neues Update auf Version 1.3:
Changelog:
Man kann JPEGs öffnen, bearbeiten, und in verschiedenen Formaten speichern (GIF und PNG ausgeschlossen, da diese standardmäßig nicht unterstützt werden, wird aber noch kommen, ich muss nur eine passende Unit im Netz finden und in mein Projekt einbinden ;))
Einige Exceptions wurden hinzugefügt
Die wechselnde Stiftfarbe kann nun abgestellt werden (hätte man früher eigentlich auch können sollen, aber hat nicht funktioniert)
Beim Schliessen des Programms über Datei-->Schließen wird man nicht mehr zweimal gefragt, ob man die Datei vorher speichern möchte

Bekannte Bugs:
Wenn man das Öffnen eines JPEGs abbricht, gibts eine Access Violation, obwohl ich ein Try-Except eingebaut habe, und dieses auch ausgeführt wird

MrMooed 4. Jul 2013 15:56

AW: Benji´s kleines Zeichenprogramm
 
Guck dir nochmal genau
Delphi-Quellcode:
TOpenDialog.Execute
an :lol:

Das ist eine function mit einem Rückgabe Wert: Boolean.

Es liefert True bzw. False je nach dem ob der Dialog abgebrochen wurde oder nicht.

Delphi-Quellcode:
if TOpenDialog.Execute
then //Öffne das Bild

rob60 4. Jul 2013 16:58

AW: Benji´s kleines Zeichenprogramm
 
Witziges programm besonders die Funktion wechselnde Schriftfarbe finde ich mal etwas neues (erinnert mich irgendwie an meine Kindheit und diese 4-Farben schreiber ;-)) allerding fiel mir noch ein Bug auf, wenn man ein Rechteck aufzieht und wieder zusammenzieht entstehen hässliche Schlieren.

benji316 4. Jul 2013 17:40

AW: Benji´s kleines Zeichenprogramm
 
@MrMooed: Danke, jetzt gehts :D
@rob60: Ist mir bekannt, ich fands recht witzig, erinnert mich an alte Hänger bei Windows Xp, wo die Fenster solche "Schlieren" gemacht haben, aber ich sollte mich mal darum kümmern, jetzt, wo alles andere funktionieren sollte ;)

MrMooed 4. Jul 2013 17:51

AW: Benji´s kleines Zeichenprogramm
 
Zitat:

Zitat von benji316 (Beitrag 1220768)
[..] jetzt, wo alles andere funktionieren sollte ;)

Und du hast schon wieder die bösen zwei Wörter benutzt :roll:
Zitat:

Zitat von DeddyH (Beitrag 1220595)
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 ;)

Ohne, dass ich mir jetzt den Quellcode angesehen habe, aber benutzt du TTimer um die Stiftfarbe zu wechseln bzw. eine gepunktete Linie zu malen?
Zumindest letzteres ist extrem unpraktisch, da Timer viel zu schnell. Ich habe mich zuerst gefragt, ob du das noch nicht implementiert hast - tatsächlich war ich mit der Maus zu langsam. D.h. bei (wie ich finde) normal schnellen Bewegungen sieht man keine Punkte. Erst wenn man die Maus hin und her reißt erscheinen zaghaft Punkte.

Vllt. findest du ja eine Möglichkeit um zu ermitteln, wie weit der Mauszeiger gewandert ist. Dann könntest du nach z.B. 4cm die Farbe umschalten und nach weiteren 0.5cm wieder zurück schalten. :wink:

benji316 4. Jul 2013 18:22

AW: Benji´s kleines Zeichenprogramm
 
Nein, bei den Linien-Arten ich verwende die Eigenschaft Canvas.pen.style, deswegen auch die Limitierung auf Stiftbreite 1...
Bei der wechselnden Stiftfarbe verwende ich schon einen Timer, hatte es zuerst im MouseMove selbst drin, aber dann ists logischweise noch schneller ;)
Aber ich könnte mal schauen ob ich bezüglich Linien-Arten was zusammenbringe ;)
PS: Bei der Formulierung: "es sollte funktionieren" ist die Möglichkeit, dass etwas nicht funktioniert, nicht ausgeschlossen ;)

RWarnecke 5. Jul 2013 08:04

AW: Benji´s kleines Zeichenprogramm
 
Crosspost in der Entwickler-Ecke
Crosspost im Delphi-Treff

benji316 5. Jul 2013 13:16

AW: Benji´s kleines Zeichenprogramm
 
Na und?
Verstößt das gegen irgendwelche Regeln?
EDIT: In den anderen Foren muss ich bei Fragen darauf hinweisen, aber ich habe ja keine Frage gestellt.
Hier konnte ich nirgends etwas zum Thema Crosspostings finden.

DeddyH 5. Jul 2013 13:40

AW: Benji´s kleines Zeichenprogramm
 
Es geht doch nur darum, dass man ggf. in den anderen Foren nachschauen kann, ob das, was man schreiben möchte, nicht schon jemand Anderes geschrieben hat, das hat mit Frage oder nicht eher wenig zu tun. Ich war mir bei dieser Antwort ja auch nicht sicher, wo ich sie nun posten soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 Uhr.
Seite 3 von 4     123 4      

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