vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - G?nnen Sie Ihrem SQL-Kommando diesen kr?nenden Abschlu?!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2017
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Rauten zeichnen 
Autor: Marty**
Datum: 09.01.17 19:15

Hallo,

wie kann ich solche Rauten zeichnen ?



mit

Dim pen As New Pen(Color.FromArgb(255, 0, 0, 0))
e.Graphics.DrawLine(pen, 20, 10, 300, 100)

Aber ich möchte nicht jede Linie einzeln Zeichnen.

Hat jemand eine Idee ?

MfG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Rauten zeichnen 
Autor: Franki
Datum: 11.01.17 02:20

Hallo,

definiere doch mal etwas genauer was du eigentlich zeichnen möchtest.
Eine Raute ist eine geometrisch bzw. mathematisch definierte Figur.

Genau wie ein Quadrat eigentlich ein Rechteck ist, oder auch die Stichworte Parallelogramm oder Raute usw. spielen hier eine Rolle.

Also wenn du etwas zeichnen möchtest, was in geometrischen Figuren abgebildet werden kann, dann geht das, aber du mußt die mathematischen Kenntnisse dahinter beherrschen.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Rauten zeichnen 
Autor: sv00010
Datum: 11.01.17 05:12

Verwende DrawPolygon.
https://msdn.microsoft.com/de-de/library/system.drawing.graphics.drawpolygon(v=vs.110).aspx
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Rauten zeichnen 
Autor: Marty**
Datum: 11.01.17 20:45

Hallo,

hier nochmal ein Bild.



in einen festgelegten Rechteck sollen Rauten gezeichnet werden. Mit einer möglichst schmalen Linie. (Soll die Bayern Rauten darstellen)

MfG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Rauten zeichnen 
Autor: Franki
Datum: 12.01.17 04:43

Hallo,

erkläre doch mal etwas genauer wie weit du mit deinem Code bist. Denn nur so könnte dir hier evtl. jemand helfen.

Du hast es mit DrawLine probiert, das war dir zu umständlich, den Hinweis auf DrawPolygon hast du bekommen, aber anhand deiner Antwort vermute ich, dass du damit auch nicht zufrieden bist.

In akuellen Programmiersprachen gibt es halt keine Funktion BayernRaute.
Aber du könntest dir eine schreiben und das Ergebnis z.B. auf ein beliebiges Bild anwenden. Also Bildgröße analysieren, dann die Rauten drauf zeichnen, die Datei wieder speichern usw.

Wie ich schon sagte, du brauchst mathematische Kenntnisse um geometrische Figuren darstellen zu können die auf eine bestimmte Bildgröße angepasst werden müssen. Da führ kein Weg drum herum.

Aber du hast Hinweise bekommen wie das funktionieren kann, mach was draus schau dir die Beispiele mal genau an und du wirst daraus mit Sicherheit lernen...

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Rauten zeichnen 
Autor: Manfred X
Datum: 12.01.17 09:32

Hallo!

Du machst keine Angaben zu eventuellen mathematischen Vorgaben
(relative Länge/Breite bzw. Winkel) der Rauten.

Der einfachste Weg wäre, Linien in jeweils einem bestimmten Abstand
zu zeichnen, die unterschiedlich stark gegenüber der Vertikale verschoben
sind.

Triviales Beispiel (Winforms-Formular):
Public Class frmDrawLines
 
    Dim pb As New PictureBox With _
          {.Parent = Me, .Width = 500, .Height = 500}
 
 
    Private Sub frmLines_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
 
        Dim bmp As New Bitmap(300, 400)
 
        Drawlines(bmp, 20, 80, True)
        Drawlines(bmp, 30, 300)
 
        pb.Image = bmp
    End Sub
 
 
    ''' <summary>Gruppe von parallelen Linien zeichnen</summary>
    ''' <param name="bmp">Bitmap für Zeichnung</param>
    ''' <param name="distance">Abstand zwischen den Linien</param>
    ''' <param name="addwidth">Verschiebung gegenüber der Vertikale (Pixel)</param>
    ''' <param name="clear">Soll die Bitmap zuvor gelöscht werden?</param>
    Public Sub Drawlines(bmp As Bitmap, distance As Integer, _
                         addwidth As Integer, _
                         Optional ByVal clear As Boolean = False)
 
        If bmp Is Nothing Then Exit Sub
 
        Using g As Graphics = Graphics.FromImage(bmp), _
            p As New Pen(Color.Black, 1)
            If clear Then
                g.Clear(Color.White)
            End If
            For i As Integer = -bmp.Height To bmp.Height Step distance
                g.DrawLine(p, New Point(i, 0), _
                   New Point(CInt(i + addwidth), bmp.Height))
            Next i
        End Using
    End Sub
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2017 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel