Hallo zusammen,
ich habe mir ein Programm geschrieben, mit dem man auf einer Picturebox durch klicken Kurven erstellen und später auch bearbeiten kann. Ich habe es hier mal hochgeladen: fileuploadx.de/670911
Bedienungsanleitung:
Spoiler anzeigen
1. Rechtsklick in Picturebox -> Neue Linie Zeichnen
2. Durch Klicks auf die Picturebox die Linie zeichnen
3. Recktsklick -> Linie beenden
4. Schritt 1-3 solange wiederholen bis alle Linien gezeichnet sind
5. Rechtsklick -> Linien bearbeiten
6. in die Nähe der Linie klicken die man bearbeiten möchte -> Tangenten + Stützpunkte werden angezeigt
7. Linie an den Tangenten oder Stützpunkten verschieben
8. Rechtsklick -> Bearbeiten beenden
Die Linien sind in Abschnitte zwischen den Stützpunkten unterteilt. Wenn ich nun einen Stützpunkt oder eine Tangente verschiebe berechne und zeichne ich nur die nötigen Abschnitte neu. Um die "alte Linie" zu löschen, "übermale" ich die sie mit der Hintergrundfarbe der Picturebox. Soweit funktioniert auch alles ganz wunderbar.
Nun möchte ich aber mit diesen Linien z.B. einen Buchstaben "nachmalen". Wenn ich diesen aber in den Hintergrund der gleichen Picturebox lege wird dieser beim verschieben der Linie übermalt (mit der Hintergrundfarbe der Picturebox)
Daher dachte ich dass ich den Buchstaben auf eine Picturebox zeichnen könnte, die hinter der liegt, auf der man die Linien zeichnet. Damit man diesen aber sieht müsste der Hintergrund der oberen Picturebox transparent sein und ich müsste die schon vorhandenen Linien mit einer Transparenten Linie übermalen können. Soweit ich bisher weiß ist das mit "einfachen Mitteln" nicht zu machen. Mittels einer UserControl soll es aber anscheinend gehen, aber wie man das dann genau machen muss weiß ich nicht.
Bei den Beispielen die ich im Internet gefunden habe war meiner Meinung nach nix passendes dabei. Und wenn es ansonsten um Transparenz in einer Picturebox ging, dann immer nur, dass in einer Grafik eine bestimmte Farbe transparent wird.
Ist dies mit "relativ einfachen" mitteln zu realisieren, oder würdet ihr mir empfehlen auf eine alternative Zeichenmethode umzuschwenken? Dazu wären aber große Änderungen am Programm nötig.
kleine Zusatzinfo: Ich zeichne und berechne die kurve selbst, da ich am Ende den Verlauf der Kurve als CNC-File für meine Fräse exportieren möchte. Außerdem möchte ich so flexibel sein, dass ich die Stützpunkte als Ecke, Tantential oder Symmetrisch und die Kurvenabschnitte als Kurve oder als Gerade ändern kann. Dies soll später auch noch nachträglich möglich sein.
Vielen Dank für eure Hilfe / Meinung!
Gruß
Marius
ich habe mir ein Programm geschrieben, mit dem man auf einer Picturebox durch klicken Kurven erstellen und später auch bearbeiten kann. Ich habe es hier mal hochgeladen: fileuploadx.de/670911
Bedienungsanleitung:
1. Rechtsklick in Picturebox -> Neue Linie Zeichnen
2. Durch Klicks auf die Picturebox die Linie zeichnen
3. Recktsklick -> Linie beenden
4. Schritt 1-3 solange wiederholen bis alle Linien gezeichnet sind
5. Rechtsklick -> Linien bearbeiten
6. in die Nähe der Linie klicken die man bearbeiten möchte -> Tangenten + Stützpunkte werden angezeigt
7. Linie an den Tangenten oder Stützpunkten verschieben
8. Rechtsklick -> Bearbeiten beenden
Die Linien sind in Abschnitte zwischen den Stützpunkten unterteilt. Wenn ich nun einen Stützpunkt oder eine Tangente verschiebe berechne und zeichne ich nur die nötigen Abschnitte neu. Um die "alte Linie" zu löschen, "übermale" ich die sie mit der Hintergrundfarbe der Picturebox. Soweit funktioniert auch alles ganz wunderbar.
Nun möchte ich aber mit diesen Linien z.B. einen Buchstaben "nachmalen". Wenn ich diesen aber in den Hintergrund der gleichen Picturebox lege wird dieser beim verschieben der Linie übermalt (mit der Hintergrundfarbe der Picturebox)
Daher dachte ich dass ich den Buchstaben auf eine Picturebox zeichnen könnte, die hinter der liegt, auf der man die Linien zeichnet. Damit man diesen aber sieht müsste der Hintergrund der oberen Picturebox transparent sein und ich müsste die schon vorhandenen Linien mit einer Transparenten Linie übermalen können. Soweit ich bisher weiß ist das mit "einfachen Mitteln" nicht zu machen. Mittels einer UserControl soll es aber anscheinend gehen, aber wie man das dann genau machen muss weiß ich nicht.
Bei den Beispielen die ich im Internet gefunden habe war meiner Meinung nach nix passendes dabei. Und wenn es ansonsten um Transparenz in einer Picturebox ging, dann immer nur, dass in einer Grafik eine bestimmte Farbe transparent wird.
Ist dies mit "relativ einfachen" mitteln zu realisieren, oder würdet ihr mir empfehlen auf eine alternative Zeichenmethode umzuschwenken? Dazu wären aber große Änderungen am Programm nötig.
kleine Zusatzinfo: Ich zeichne und berechne die kurve selbst, da ich am Ende den Verlauf der Kurve als CNC-File für meine Fräse exportieren möchte. Außerdem möchte ich so flexibel sein, dass ich die Stützpunkte als Ecke, Tantential oder Symmetrisch und die Kurvenabschnitte als Kurve oder als Gerade ändern kann. Dies soll später auch noch nachträglich möglich sein.
Vielen Dank für eure Hilfe / Meinung!
Gruß
Marius