Scripting Tool für Grafiken
-
Hallo,
ich suche ein Tool, mit dem man per Skriptsprache Bilder malen kann. Ich habe einen Satz von Figuren, die immer aus den gleichen Bestandteilen zusammengesetzt werden können (Geraden, 30° Bögen und 60° Bögen). Dazu suche ich jetzt ein Tool, mit dem man in einer Skriptsprache diese Bestandteile zeichnen und zusammensetzen kann. Am besten mit live Vorschau.
Also beispielsweise sowas:
SetSize( 400,200 ); SetBrushColor( 0xffffff ); FillRect( 0,0,400, 200 ); SetPenColor( 0x000000 ); SetLineWidth( 36 ); DrawLine( 0,100, 400, 100 ); SetPenColor( 0xff0000 ); SetLineWidth( 4 ); DrawEllipse( 200,100, 50, 50 ); SaveImage( .... );
Naja, ihr wisst, was ich meine
Ich habe mir schon ImageMagick angeschaut, aber das ist für meine Anforderungen mit Kanonen auf Spatzen geschossen. Und außerdem gibt es da keine Live-Vorschau, sondern man kann per Kommandozeilenparameter ein Bild mit bestimmten Inhalt erzeugen und sich das dann später in einem Bildbetrachter angucken. Ist etwas umständlich, wenn man immer mal wieder ein paar Pixel danebenliegt und ein paar Korrekturen machen muss.
-
Gab's da nicht mal die Programiersprache Logo? Such mal danach. War in den 80er des letzten Jahrhunderts zumindest sehr populär.
-
@DocShoe
Python Turtle scheint der Nachfolger von Logo zu sein.https://docs.python.org/3.3/library/turtle.html?highlight=turtle
Lade dir einfach mal Python herunter und starte IDLE. Unter Help Turtle Demo findest du einige Live Beispiele.
-
Danke für eure Antworten, aber das fühlt sich iwie nicht gut an
Ich werd´s mir trotzdem mal angucken, vielleicht ist es besser als mein Gefühl mir sagt.
-
Willst du das wirklich interaktiv, oder ist das eher so gedacht, dass du vorher ein Script schreibst und dann irgendwie ausführst?
Was ist mit Dingen wie svg, die letztlich eine Textbeschreibung eines Bildes sind, zusammengesetzt aus einfachen Formen?
-
@SeppJ Soweit ich es verstehe will er es bloss interaktiv damit er nen schnelleren Überprüfen->Anpassen Zyklus bekommt als mit nem C oder C++ Programm das ein Bilddatei generiert.
Wobei man sich das natürlich auch relativ einfach soweit skripten könnte dass man nur mehr einen Hotkey in z.B. VS Code drücken muss damit alles neu gebaut und ausgeführt wird. Und dass die Anzeige/Vorschau des dadurch generierten Bildes aktualisiert wird bekommt man sicher auch noch irgendwie hin.
-
Dann im Malprogramm malen, als Vektorgrafik exportieren, und gut?
-
Es geht konkret um folgendes:
Es gibt eine Brettspielfamilie 18xx, bei denen man sechseckige Plättchen auf das Spielbrett legt. Diese Plättchen bestehen fast immer aus den gleichen Komponenten, die verschiedenartig angeordnet unterschiedliche Plättchen bilden. Es gibt sicher über 100 verschiedene Plättchen, und die möchte ich nicht immer per Malprogramm malen müssen. Ich habe schon einen Ansatz in Paint.net, wo ich die Komponenten in verschiedenen Ebenen ein- und ausblenden kann, das funktioniert auch schon ganz gut. Allerdings hat jedes Plättchen eine genormte ID, und da hätte ich schon gern, dass die immer an der gleichen Stelle des Plättchens steht. Und sowas ist gescriptet schneller hinzubekommen als mit einem Malprogramm.
So sieht das dann letztendlich aus.
-
Wenn blender (und python) eine option ist:
https://docs.blender.org/api/current/bpy.ops.image.html#bpy.ops.image.new
https://docs.blender.org/api/current/bpy.types.Image.html#bpy.types.Image.pixels
-
@DocShoe
Müssen die Bilder gestochen scharf sein?Ich habe nämlich dein Bild in Gimp geladen, danach ein Plättchen mittels Free Select Tool selektiert und mittels Copy, Paste as New Image ein neues Bild erzeugt. Innerhalb weniger Sekunden hatte ich ein Plättchen - Bild erzeugt.
Man könnte so die Plättchen - Bilder erzeugen. Danach müsste man diese nur noch per Skript laden, entsprechend rotieren und darstellen.
-
@Quiche-Lorraine
Genau so habe ich das bisher auch gemacht, nur statt das Bild komplett zu kopieren habe ich es in eine neue Ebene kopiert und beim konkreten Plättchen die passenden Ebenen zusammengeführt. Kann man so machen, ist aber echt viel Aufwand.Ich habe mir jetzt was eigenes in C# zusammengeschustert, das war weniger Arbeit, als angenommen. Letztendlich braucht man nur knapp 10 verschiedene Grafikoperationen. Mit sehr einfacher Syntax ging das relativ flott, jetzt stehen so Bonussachen wie der Aufbau einer Plättchensammlung und PDF-Export an.
Trotzdem vielen Dank an alle, die hier geholfen haben. Ich habe wirklich gedacht, dass es sowas schon fertig gibt. Also jetzt nicht speziell für meinen Fall, sondern eine Art Grafikprogrammiertool, mit dem man Bilder skriptgesteuert erzeugen kann.