Autor Beitrag
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Fr 05.07.13 09:05 
Crosspost in der Delphi-Praxis
Crosspost im Delphi-Treff
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: Fr 05.07.13 14:30 
Bei Fragen muss ich ja laut den Regeln verlinken, aber muss ich das hier auch?
Ist ja eigentlich keine Frage, und dank des Mediafire-Uploads ist in allen Foren immer der gleiche Versionsstand.
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: Fr 05.07.13 17:56 
So, nun wird ü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:
www.mediafire.com/fo...fwd4/Zeichenprogramm
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Fr 05.07.13 18:02 
Hallo,
user profile iconbenni316 hat folgendes geschrieben Zum zitierten Posting springen:
Ist ja eigentlich keine Frage, und dank des Mediafire-Uploads ist in allen Foren immer der gleiche Versionsstand.

Kann schon sein. Das ändert aber nichts daran, dass natürlich die Antworten und Hinweise in den einzelnen Foren unterschiedlich sind.
Und ich finde es sehr nervend, wenn man in drei verschiedenen Foren "parallel" lesen soll.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: So 07.07.13 20:01 
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: www.mediafire.com/fo...fwd4/Zeichenprogramm
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: So 07.07.13 21:10 
user profile iconbenni316 hat folgendes geschrieben Zum zitierten Posting springen:
Dies wird die endgültige Version bleiben, außer irgendjemand findet irgendwelche gravierenden Bugs ;)
Leider ja.

* Beim Laden eines JPEG-Bildes wird ist dieses nach links aus der Zeichenfläche verschoben, sodass nur noch etwa 100px der rechten Hälfte sichtbar sind.
* Beim Malen auf diesem JPEG flackert's
* Beim Resizen des Fensters wird die Zeichenfläche übermalt
* Beim klick auf Datei->Neu bleibt das geladene Jpeg auf der Zeichenfläche, ist aber nun komplett weiß. Es lässt sich nur auf diesem Jpeg malen.
+ Toll wäre ein "Zeichenstift", statt dem normalen Maus-Cursor
- Beim betätigen des Abbrechen-Dialogs erscheint die Meldung "Öffnen abgebrochen". Ich weiß aber, dass ich abgebrochen habe.
+ Bei wechselender Stiftfarbe wäre es cool, wenn sich diese nicht nur diskret, sondern auch graduell ändern würde

Mehr hab ich auf dem kurzen Blick nicht gesehen. :)
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 07.07.13 21:35 
- Nachträglich durch die Entwickler-Ecke gelöscht -
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: So 07.07.13 22:04 
Das mit dem jpg-laden passiert bei mir nicht
Flackern? Bei mir nicht, vllt liegts an deinem PC?!
das mit dem resizen sollte eigentlich nicht passieren, und es passiert bei mir auch nicht, egal ob ich minimiere/maximiere/von Hand vergrößere
Wenn ich auf Datei-Neu klicke, wird die gesamte Zeichenfläche weiß übermalt, dann das JPG geladen, bist du sicher, dass du die aktuelle Version (2.0) hast? Gibts hier: www.mediafire.com/index.php#gsyhi84vsfwd4
Das mit dem Cursor habe ich mir auch schon überlegt, aber dann wieder vergessen, ich muss nur sehen, wo ich so einen Cursor her bekomme ;)
Graduelles Wechseln?! Gute Idee!
Das mit der Textformatierung werd ich ausbessern, und das mit dem JPEG ist so, weil es ja konvertiert werden muss, um bearbeitet werden zu können, ich müsste prüfen, ob jpg oder jpeg im Dateinamen drin ist, hab ich auch schon probiert, aber nicht zusammengebracht, ich werd mich nochmal drum kümmern ;)
Das mit dem Bild invertieren ist komisch, vllt regel ich das über ein extra TCanvas-Objekt

Ach ja, wegen dem abgrebrochen: Ist eine Exception, weils sonst ne Fehlermeldung gibt, aber ich hab schon ne Idee, wie ich das machen könnte ;)
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: So 07.07.13 22:20 
user profile iconbenni316 hat folgendes geschrieben Zum zitierten Posting springen:
Das mit dem jpg-laden passiert bei mir nicht
Flackern? Bei mir nicht, vllt liegts an deinem PC?!
das mit dem resizen sollte eigentlich nicht passieren, und es passiert bei mir auch nicht, egal ob ich minimiere/maximiere/von Hand vergrößere
Wenn ich auf Datei-Neu klicke, wird die gesamte Zeichenfläche weiß übermalt, dann das JPG geladen, bist du sicher, dass du die aktuelle Version (2.0) hast?

Ich hatte Deinen Quelltext (2.0) unter D2009 kompiliert. Wenn ich Deine schon kompilierte Exe ausführe, treten die Fehler nicht auf. :nixweiss:

user profile iconbenni316 hat folgendes geschrieben Zum zitierten Posting springen:
Ach ja, wegen dem abgrebrochen: Ist eine Exception, weils sonst ne Fehlermeldung gibt, aber ich hab schon ne Idee, wie ich das machen könnte ;)
Ja, dazu hatte ich ja auch schon einmal etwas geschrieben. ;)

Schön wär's noch, wenn es nun einen Scrollbalken für übergroße Bilder gäbe. :idea:
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: So 07.07.13 22:36 
Ich hab halt Delphi 7 verwendet, da gibts vllt iwelche Unterschiede, hab selbst keine Ahnung.
Scrollbalken wäre nützlich, kommt auf die todo-list ;)
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: So 07.07.13 23:33 
Hallo,
ich muss jetzt auch einmal meinen Senf dazugeben.

1. Der Download bei mediafire dürfte wohl nicht mit den EE-Regeln konform sein, da die Quellen/Exe eigentlich im 1.Eintrag hier in der EE erscheinen sollen. Um Dein Programm zu testen, muss man dieses Mediafire aufrufen und wird natürlich erst einmal mit Werbung zugetextet. :evil:

2. Mit dem Programm kann man zwar ganz ordentlich zeichnen, wählt man aber mehrere Dinge aus, sollte man auch sehen, was man ausgewählt hat.
Zum Beispiel hatte ich den Modus "Polygon ausfüllen" und nach einigen Zeichenoperationen wurde ein weiteres Polygon ausgefüllt, eigentlich unbeabsichtigt. Daraufhin habe ich den Menüpunkt "Rückgängig" gesucht, aber nicht gefunden.

3. U.a. deklarierst und erzeugst Du die Variable tempbmp, löschst sie aber am Ende nicht wieder. Sie wird zwar nicht gebraucht und das Speicherleck ist winzig, aber dennoch da.

4. Im Speicher-Dialog werden neben Bitmap auch Vektorgrafiken angegeben. Das funktioniert aber nicht.
Das als Bitmap gespeicherte Bild hat keine automatische Dateiendung bmp.

5. Dein Info-Dialog enthält 6(!) Timer für das Ein- und Ausblenden der Buchstaben. Das geht doch wohl mit einem.

6. "Bild invertieren" und in "Graustufen umwandeln" dauert auf meinem schnellen Rechner sehr lange. Statt Pixels bietet sich hier scanline zur Beschleunigung an.

Ich höre erst einmal auf zu meckern.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mo 08.07.13 00:11 
Das ist nun OT:

user profile iconMathematiker hat folgendes geschrieben Zum zitierten Posting springen:
Um Dein Programm zu testen, muss man dieses Mediafire aufrufen und wird natürlich erst einmal mit Werbung zugetextet. :evil:
Ich muss jetzt auch einmal meinen Senf dazugeben.

Du benutzt keinen Werbeblocker? Wie hälst Du das bloß aus? :shock:
Ich empfehle Dir doch dringend zumindest die FF- und Chrome-Addons
Damit werden nicht nur die vom eigentlichen Inhalt ablenkenden und nervenden Werbebanner oder Flashanimationen unterbunden, sondern auch die Ladezeiten von Websiten beschleunigt, da nun der ganze Werbekram wegfällt. :zustimm:
Darüberhinaus verhinderst Du u.U. auch das Einfangen von Malware, durch von Drittseiten eingebundene verseuchte Skripte . :idea: So waren vor kurzem auch Spiegel Online resp. deren Leser betroffen.

Beste Grüße
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: Mo 08.07.13 18:19 
Dank Adblocker bekomme ich bei Mediafire keine Werbung, und ich habs dort hochgeladen, weil ich eben nicht bei jedem Update in drei Foren alles neu hochladen muss.
Damit man weiß, was man gerade ausgewählt hat, werde ich verschiedene Cursors verwenden, hätte ich schon länger machen sollen.
tempbmp ist nun gelöscht, da sie eh unnötig ist
Ich kann ein Bild als wmf oder emf speichern und danach mit meinem Programm und auch mit Paint öffnen (vllt aber auch nur, weil es eigentlich bmps mit falscher Endung sind?!).
Ich kenne diese Dateiformate gar nicht (und besitze auch keine"richtigen" wmf/emf-Dateien), die waren standardmäßig im OpenPictureDialog angegeben, ich sollte mich mal informieren.
Das mit dem Info-Dialog seh ich mir vielleicht mal an, hat aber niedrige Priorität.
Das mit dem Invertieren geht schnell (2-3 Sekunden), man muss nur etwas zeichnen, damit es angezeigt wird (Bug, ich kümmer mich drum)
Scanline werde ich mir mal ansehen, aber zumindest die Graustufen-Umwandlungs-Funktion beim Delphi-Treff sah sehr kompliziert aus.
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mo 08.07.13 18:30 
Hallo,
die Graustufenbildung ist kein Problem.
U.a. funktioniert folgende Methode:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure Graustufen(Bitmap:TBitmap);
var i,j  :  INTEGER;
    Row  :  ^TRGBTriple;
    grau : byte;
begin
    for j := 0 to Bitmap.Height-1 do
    begin
      row := Bitmap.Scanline[j];
      for i := 0 to Bitmap.Width-1 do
      begin
        grau := (row^.rgbtred * 77 + row^.rgbtgreen * 151 + row^.rgbtblue * 28div 256;
        row^.rgbtred   := grau;
        row^.rgbtBlue  := grau;
        row^.rgbtgreen := grau;
        inc(row);
      end;
    end;
end;

und wandelt selbst riesengroße Bitmaps in Bruchteilen einer Sekunde um.

Beste Grüße
Mathematiker

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: Mo 08.07.13 18:49 
Danke, das sieht recht einfach aus :D
Übrigens: Das mit dem Invertieren läuft auch ohne Scanline nun in einem Bruchteil einer Sekunde, indem ich den Inhalt der Zeichenfläche in eine TBitmap-Variable lade,diese invertiere, und danach auf das Image zeichne.
Als nächstes kümmere ich mich um die Cursors, am besten wären die aus Paint, die muss man doch irgendwo her bekommen, aber auf der MSDN-Seite steht nichts vom Farbeimer..
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: Mo 08.07.13 21:30 
Für den Stift verwende ich nun einen Cursor aus dme Internet, für das Aufziehen von Rechtecken den Windows-Cursor crcross.
Kann man die Cursor aus Paint (z.B. Farbeimer) irgendwo herunterladen?
Durch Googeln hab ich nichts gefunden, und sie selbst aus einem Screenshot zu extrahieren ist mir zuviel Aufwand, weil ich den Cursor erst transparent machen müsste, und mit Grafikbearbeitung kenn ich mich nicht so gut aus.

EDIT: hab ein Programm gefunden, nennt sich "IconsExtract".
Damit ist es möglich, Icons und Cursors aus exe-Dateien zu extrahieren, und es funktioniert einwandfrei!
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: Mi 10.07.13 15: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: ulrichhanke.de/00/CursorSammlung.html und zwei wurden aus Paint extrahiert
Das Invertieren eines Bildes geht nun deutlich schneller
Kleinere Bugfixes
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 10.07.13 23:15 
- Nachträglich durch die Entwickler-Ecke gelöscht -
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: Mo 15.07.13 17:47 
Radiergummi ist kein Problem, aber woher krieg ich einen solchen Cursor?
Man findet über Google nichts gescheites und aus Paint kann ich den Cursor komischerweise nicht extrahieren, er scheint nicht in der exe entahlten zu sein..
benni316 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP, Win Vista, Win 7, Android
Delphi 7
BeitragVerfasst: Mo 15.07.13 22:37 
So, ein wirklich letztes Update, ich werde mich von nun an anderen Projekten zuwenden.
Da es aus dem Anhnang eh niemand herunterlädt, hab ichs nur bei Mediafire aktualisiert.
Das ganze ist nun etwas größer, weil mit XE3 kompiliert.
Radiert wird mit der rechten Maustaste, der Cursor bleibt dabei derselbe.

Download-Link:
www.mediafire.com/fo...fwd4/Zeichenprogramm