Hexagon (Grafikprogramm)

Anwendungen, Tools, Userlibs und anderes nützliches.
gem
Beiträge: 14
Registriert: 24.08.2014 18:04

Hexagon (Grafikprogramm)

Beitrag von gem »

Hexagon (Grafikprogramm)
Build 1.005​


Einleitung

Liebe PureBoard Gemeinde
Ich möchte euch ein Programm vorstellen womit ich mich die letzten Tage beschäftigt habe.
Also schreibt gerne wie es euch gefällt ob ihr ein Bug entdeckt habt oder Verbesserungsvorschläge habt.
Ich freu mich und bin gespannt.

Idee

Ein guter Freund von mir zeichnete immer diese Sechsecke und brachte ganz verrückte Formen hervor. Das faszinierte mich und so enstand dann auch die Idee hierfür.

Programm

Die Anwendung wurde in PureBasic (5.3) geschrieben.
Für die grafische Ausgabe wird die cairo lib verwendet (https://www.cairographics.org/​​)
Für die Musikwiedergabe und Höhenwerte wird die bass lib verwendet (http://www.un4seen.com/​​)
Alle benötigten Bibliotheken sind in der Zip Datei vorhanden.

To-Do´s für nächste Version:
- Videoaufnahme
- Neuer Mixervorlagen
- Mixervorlagen öffnen und speichern

Download

Hexagon Build 1.005 http://workupload.com/file/EMFVWPz

Bilder

Bild
Bild

Bedienung

Öffnet die Hexagon.exe. Zunächst klickt auf den mittleren weißen Punkt und ab da probiert einfach mal ein bißchen aus :)
Im oberen Bereich des Fensters ist die Menüleiste.
Funktionen der einzelnen Button:

H​​
Sechsecke werden neu animiert​​
​Dokument +​
​Alle Würfel löschen​
Dokument (Pfeil runter)​
​Datei laden​
Dokument (Pfeil hoch)
​Datei speichern
Zeiger
Sechseckseiten können ein- und ausgeblendet werden
Gruppenfarbe 1-9
​Jede Sechseckseite kann einer Gruppe zugewiesen werden
Jede Gruppe kann koloriert werden
(Mit Doppelklick erscheint ein Farbfenster)
Hintergrundfarbe
​Ändert die Hintergrundfarbe
(Mit Doppelklick erscheint ein Farbfenster)​
​Links, Rechts, Oben, Unten
​Zeichenoberfläche bewegen
(Auch mit den Pfeiltasten oder Klicken und Ziehen der Maus)
Zoom In, Zoom Out
​Zeichenoberfläche ​zoomen
(Mausrad)
Vorschau
​Vorschaumodus ​ein- und ausblenden
Im Vorschaumodus werden Buttons und das Menü nach einiger Zeit ausgeblendet
(Leertaste)
Vollbild
​Vollbild ein- und ausblenden
​Plugin Record
​​Erstellt PNG Datei
​Plugin Bass
Einfacher Klick:
Öffnent Auswahlfenster für Mp3 Datei und spielt diese mit erfolgreichen Laden ab

Linksklick:
Öffnet Einstellungen​​​

Mixer

Hier könnt ihr euch richtig austoben wer das Prinzip versteht kann hier alle Möglichen Farbmischungen hervorholen.
(Sollte es dazu Fragen geben einfach stellen und ich werde es ausführlich erklären :) )
(Es liegen bis jetzt drei Vorlagen vor)
​Plugin Rotate
​​Einfacher Klick:
Zeichenfläche wird Rotiert bis Leertaste oder Button erneut gedrückt wird

Linksklick:
Öffnet Einstellungen​​
​Plugin Random
​Einfacher Klick:
Ändert zufällig die Gruppen der Würfel

Doppelklick:
Erstellt zufällig Würfel

Linksklick:
Öffnet Einstellungen
Download

Hexagon Build 1.005 http://workupload.com/file/EMFVWPz
Benutzeravatar
DarkSoul
Beiträge: 689
Registriert: 19.10.2006 12:51

Re: Hexagon (Grafikprogramm)

Beitrag von DarkSoul »

Witzige Idee. :allright:

Bugs/Anregungen:
- Der Name "Hexagon" ist bereits vergeben (altes DOS-Spiel)
- Die Render-Engine ist unpräzise und rendert nicht pixelgenau: http://www.directupload.net/file/d/4553 ... 2i_jpg.htm (Bild vergrößern)
- Warum kann ich zunächst nur direkt angrenzende Würfel setzen? (Ich muss 3 nebeneinander setzen und den mittleren wieder wegnehmen, wenn ich ne Lücke möchte)
- Erst, wenn ich einen ganzen Würfel durch Klick auf den mittleren Kreis setze, erhalte ich die Möglichkeit, angrenzende Würfel zu setzen.Wenn ich die 6 Segmente aber einzeln setze, erhalte ich dagegen keine Möglichkeit, Nachbarwürfel setzen zu können.
- Toolbar: Tooltips fehlen und die Icons sind meiner Meinung nach nicht intuitiv (Was genau macht der Button "H"? Welcher Button ist zum Zeichnen? Wozu sind die beiden blanken rechts neben den Farben? )
- Toolbar: Laden/Speichern-Icons sind vertauscht
- Toolbar: Die vier Verschieben-Buttons bewirken jeweils genau das Gegenteil (Wenn ich z.B. nach links klicke, bewegen sich die Würfel nach rechts)
- Toolbar: Bei "Rec" habe ich eine Videoaufzeichnung erwartet. Ein besser geeignetes Symbol wäre hierr ein Fotoapparat.
- Toolbar: Das Music-Icon sieht sehr nach Apple aus. Bedenke, dass fremde Icons geschützt sind
- Ich habe die Taste nicht finden können, um eine bereits eingefärbte Fläche wieder transparent zu machen.
- Laden/Speichern hat nicht funktioniert (hat aber eine 304 Byte große .hexagon geschrieben)
- Musikauswahl: Es fehlt die Überprüfung, ob tatsächlich eine MP3 gewählt wurde. Ich habe ein .jpg geöffnet und wurde mit einem Absturz bestraft. Überhaupt werden alle Dateien angezeigt.
- Ich kann die Zeichnung bearbeiten, während ich sie drehen lasse - Jedoch wird die Drehung dabei von der Mausabfrage nicht berücksichtigt.
- Wenn ich Musik ausgelaufen ist, habe ich keine Farben mehr (Alle Farben auf der Palette sind auf #000000 und kann auch keine neue mehr mischen)
- Der Button zum Stoppen der Musik fehlt.
- Der Würfel liefert nicht immer ein neues Bild
- Das Programm aktzeptiert viel mehr Mediaformatre als MP3? Warum schränkst du das künstlich ein?
- Bei Neu bzw. Programm beenden kommt kein "Möchten Sie die ungespeicherten Änderungen speichern? Ja/Nein"
- .hexagon-Datei reinziehen klappt nicht
- Das Programm versteht "Öffnen Mit..." vom Explorer aus nicht
- Wenn ich eine andere .doc-Datei öffne, stürzt das Programm ab. Vermutlich fehlt auch hier die Kontrolle, ob überhaupt ne gültige Datei gewählt worden ist
- Als PNG exportierte Zeichnungen werden abgeschnitten, wenn eine gewisse Größe erreicht ist
- Wenn ich die Zeichnung mit der Maus verschiebe, wird beim Loslassen dort ein Klick ausgelöst, wo ich die Zeichnung "gegriffen" habe
- Das Scrollrad verhält sich seltsam, wenn sich der Mauszeiger außerhalb der Zeichnung befindet
- Ich kann die Zeichnung mit der Maus vollständig über den Fensterrand hinaus verschieben. Dann ist sie "weg"
Bild
gem
Beiträge: 14
Registriert: 24.08.2014 18:04

Re: Hexagon (Grafikprogramm)

Beitrag von gem »

Hey DarkSoul

Vielen Dank fürs Feedback und die zahlreichen Bugs/Verbesserungsvorschläge
Freue mich :)

Vorweg großes Lob meinerseits an dich für die Mühe.
- Der Name "Hexagon" ist bereits vergeben (altes DOS-Spiel)
Das wusste ich nicht. Ich werde den Namen zu Hexadon ändern
- Die Render-Engine ist unpräzise und rendert nicht pixelgenau: http://www.directupload.net/file/d/4553 ... 2i_jpg.htm (Bild vergrößern)
Ist mir auch schon aufgefallen. Ich werde der mittlere Position der Sechsecke auf eine Ganzzahl runden. Das sollte das Problem beheben.
- Warum kann ich zunächst nur direkt angrenzende Würfel setzen? (Ich muss 3 nebeneinander setzen und den mittleren wieder wegnehmen, wenn ich ne Lücke möchte)
Ich habe das mit Doppelklicks gelöst. So wird ein Feld erstellt aber gleichzeitig wieder ausgeblendet.
Für größere Abstände muss ich mir noch was überlegen.
- Erst, wenn ich einen ganzen Würfel durch Klick auf den mittleren Kreis setze, erhalte ich die Möglichkeit, angrenzende Würfel zu setzen.Wenn ich die 6 Segmente aber einzeln setze, erhalte ich dagegen keine Möglichkeit, Nachbarwürfel setzen zu können.
Das versteh ich nicht. Wie hast du dir das vorgestellt?
- Toolbar: Tooltips fehlen und die Icons sind meiner Meinung nach nicht intuitiv (Was genau macht der Button "H"? Welcher Button ist zum Zeichnen? Wozu sind die beiden blanken rechts neben den Farben? )
- Tooltips werden kommen. Die Icons entsprechen wohl meinem Geschmack :) (Auch wenn nicht Aussagekräftig) ich denke durch die Tooltips wird sich das aber erübrigen.
- Toolbar: Laden/Speichern-Icons sind vertauscht
Pfeil nach Unten: Laden
Pfeil nach Oben: Speichern

Meinst du andersrum?
- Toolbar: Die vier Verschieben-Buttons bewirken jeweils genau das Gegenteil (Wenn ich z.B. nach links klicke, bewegen sich die Würfel nach rechts)
Denkfehler :roll:
Änder ich
- Toolbar: Bei "Rec" habe ich eine Videoaufzeichnung erwartet. Ein besser geeignetes Symbol wäre hierr ein Fotoapparat.
Soll noch kommen hab aber noch keine performante Lösung gefunden.
Ein Test mit PNG Dateien erstellen und anschließend mit ffmpeg zu einer mp4 verarbeiten war langsam und Speicherfressend.
Vielleicht kannst du mir Helfen oder paar Ansätze geben.
Meine Änsätze

libavcodec
avifil

(Bisher erfolglos :shock: )
- Toolbar: Das Music-Icon sieht sehr nach Apple aus. Bedenke, dass fremde Icons geschützt sind
Werde ich ändern auch wenn das nicht beabsichtgt war oder daher kopiert wurde.
- Ich habe die Taste nicht finden können, um eine bereits eingefärbte Fläche wieder transparent zu machen.
Pfeil Button in der Menüleiste (Option Taste 0) und dann Doppelklick auf das Segment
(Blendet Segment ein und wieder aus. Gruppe wird dabei gelöscht)
- Laden/Speichern hat nicht funktioniert (hat aber eine 304 Byte große .hexagon geschrieben)
Komisch kannst du mir die Datei schicken.
Ich habe ein paar Tests gemacht die erfolgreich waren.
- Musikauswahl: Es fehlt die Überprüfung, ob tatsächlich eine MP3 gewählt wurde. Ich habe ein .jpg geöffnet und wurde mit einem Absturz bestraft. Überhaupt werden alle Dateien angezeigt.
- Das Programm aktzeptiert viel mehr Mediaformatre als MP3? Warum schränkst du das künstlich ein?
- Bei Neu bzw. Programm beenden kommt kein "Möchten Sie die ungespeicherten Änderungen speichern? Ja/Nein"
- .hexagon-Datei reinziehen klappt nicht
- Wenn ich eine andere .doc-Datei öffne, stürzt das Programm ab. Vermutlich fehlt auch hier die Kontrolle, ob überhaupt ne gültige Datei gewählt worden ist
- Wenn ich die Zeichnung mit der Maus verschiebe, wird beim Loslassen dort ein Klick ausgelöst, wo ich die Zeichnung "gegriffen" habe
- Das Programm versteht "Öffnen Mit..." vom Explorer aus nicht
- Wenn ich Musik ausgelaufen ist, habe ich keine Farben mehr (Alle Farben auf der Palette sind auf #000000 und kann auch keine neue mehr mischen)
Werde ich anpassen/einbauen/beheben
- Ich kann die Zeichnung bearbeiten, während ich sie drehen lasse - Jedoch wird die Drehung dabei von der Mausabfrage nicht berücksichtigt.
Ich werds deaktiveren :)
Der mathematische Aufwand ist mir zu hoch :lol:
- Der Button zum Stoppen der Musik fehlt.
Werde ich als Tastenfunktion einbauen. Vielleicht RETURN oder so.
Leertaste ist bereits Pause
- Der Würfel liefert nicht immer ein neues Bild
Einfacher Klick:

Gruppen werden zufällig gesetzt

Doppelklick:

Würfel werden zufällig erstellt

Linksklick:

Einstellungen

Lag das Problem daran?
- Als PNG exportierte Zeichnungen werden abgeschnitten, wenn eine gewisse Größe erreicht ist
Ich dachte an eine Option zwischen sichtbaren Bereich und kompletter Ansicht (Alle Würfel)
Bisher gibt es ja nur den sichtbaren Bereich
- Das Scrollrad verhält sich seltsam, wenn sich der Mauszeiger außerhalb der Zeichnung befindet
Ist ein Sechseck aktiv (Buttons der Segmente sichtbar) wird der mittlere Punkt des Sechsecks fixiert. Sonst die Position der Maus.
Hättest du ein anderen Vorschlag?
- Ich kann die Zeichnung mit der Maus vollständig über den Fensterrand hinaus verschieben. Dann ist sie "weg"
"weg" ja nicht sie ist dann nur gerade nicht im sichtbaren Bereich. Ist das störend?
Benutzeravatar
DarkSoul
Beiträge: 689
Registriert: 19.10.2006 12:51

Re: Hexagon (Grafikprogramm)

Beitrag von DarkSoul »

Sorry, dass ich mich so spät melde.... Hatte keine Zeit. Hier das Feedback zum Feedback:

Ist mir auch schon aufgefallen. Ich werde der mittlere Position der Sechsecke auf eine Ganzzahl runden. Das sollte das Problem beheben.
Richtig. Aber nicht einzeln mal auf- mal abrunden... Damit verschlimmerst du es nur. Einfacher geht es, wenn du die Zoomstufen so machst, dass der Abstand zwischen den Hexagons sowieso ein Integer ist.
Das versteh ich nicht. Wie hast du dir das vorgestellt?
Du hast doch diesen einen Punkt, der den ganzen Würfel setzt.
Rundherum sind 6 andere Punkte, die nur einzelne Flächen setzt.
Setze ich den Würfel mit den Punkten rundherum zusammen, bekomme ich keine Möglichkeit, einen Nachbarwürfel zu setzen.
Nutze ich dagegen den mittleren Punkt, dann geht es.
Pfeil nach Unten: Laden
Pfeil nach Oben: Speichern

Meinst du andersrum?
Die ganze Symbolik ist ungeeignet. Besser wäre ein Pfeil, der auf einen Datenträger zeigt (zum speichern) oder von diesem wegzeigt(zum laden). Als Symbol sind Disketten oder Festplatten geeignet.

Soll noch kommen hab aber noch keine performante Lösung gefunden.
Ein Test mit PNG Dateien erstellen und anschließend mit ffmpeg zu einer mp4 verarbeiten war langsam und Speicherfressend.
Vielleicht kannst du mir Helfen oder paar Ansätze geben.
Meine Änsätze
Muss "live" abgefilmt werden? Eine Exportfunktion, die das Geschehen in .mp4 ausrendert, ohne es dabei live anzuzeigen, fände ich völlig ausreichend.
Der Menüpunkt heißt dann nicht "rec", sondern "Export als Video".

Das wirst du nicht performant und einfach hinkriegen.

Das kannst du so machen:

Die ersten 200 Frames über dein Prog als .png rendern -> mit ffmpeg als MP4 rendern
Dasselbe mit den nächsten 200 Frames.
Die beiden Häppchen zusammensetzen.
Macht der h264-Codec sowieso intern so ähnlich (Stichwort "GOP")
und so weiter.... Bis das Video halt fertig ist.
Dann noch die Musikdatei in AAC umwandeln und in die fertige Videodatei einfügen. (mit ffmpeg.exe)

Das dauert dann eben ein bisschen. Muss der User halt etwas warten. Ladebalken mit "Video wird gespeichert... bitte warten" rein und fertig. :wink:
Komisch kannst du mir die Datei schicken.
Ich habe die gelöscht.
Ich kann aber eine neue speichern, wenn du mir sagst, wie ich sie dir schicken soll?
Werde ich als Tastenfunktion einbauen. Vielleicht RETURN oder so.
Leertaste ist bereits Pause
Bitte so nicht... Das findet kein Mensch... Bitte einen Stop/Pause-Button in die GUI einbauen. <)
Einfacher Klick:

Gruppen werden zufällig gesetzt

Doppelklick:

Würfel werden zufällig erstellt

Linksklick:

Einstellungen
Darauf kommt ebenfalls kein User. /:->
"weg" ja nicht sie ist dann nur gerade nicht im sichtbaren Bereich. Ist das störend?
Ja... Wenn man es weiter rauschiebt, findet man seine Zeichnung unter Umständen nicht mehr wieder. :allright:
Bild
Benutzeravatar
TroaX
Beiträge: 659
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: Hexagon (Grafikprogramm)

Beitrag von TroaX »

Lustige Idee :)

Erinnert mich etwas an: https://www.marmoset.co/hexels/
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Antworten