Größe eines Rectangle (Rechtecks) berechnen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Größe eines Rectangle (Rechtecks) berechnen

    Hallo,

    überlege gerade wie ich ein Rechteck von der größe her berechnen kann.

    Ziel ist es, eine Größe zu bekommen, das einem Rückenschild von einem Leitz-Ordner passst... für Ausdruck, ausschneiden und aufkleben...

    so zeichne ich:

    VB.NET-Quellcode

    1. ' Zeichnen eines Rechteckes
    2. Dim blackPen As New Pen(Color.Black, 0.5)
    3. Dim rect As New Rectangle(RandLinks - 12, 8, 376, 816)
    4. e.Graphics.DrawRectangle(blackPen, rect)


    kann ich die Größe irgendwie berechnen? also... 6,1cm = X px x 19,2 = X px ??
    Naja du hast doch schon die rectangle.size oder ?

    edit :// Falsch verstanden
    MFg BlackNetworkBit
    MFG 0x426c61636b4e6574776f726b426974
    InOffical VB-Paradise IRC-Server
    webchat.freenode.net/
    Channel : ##vbparadise

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BlackNetworkBit“ ()

    Hier kannst du die cm zu pixel umrechnen lassen:

    VB.NET-Quellcode

    1. Private Function return_bmp_size(ByVal x As Double, ByVal y As Double) As Size
    2. Dim bmp As New Bitmap(404, 404)
    3. Dim u As Graphics = Graphics.FromImage(bmp)
    4. Dim weite As Double = x / 2.54
    5. weite = CInt(weite * u.DpiX)
    6. Dim höhe As Double = y / 2.54
    7. höhe = CInt(höhe * u.DpiY)
    8. Return New Size(CInt(weite), CInt(höhe))
    9. End Function

    8-) faxe1008 8-)
    habe so gemacht...

    VB.NET-Quellcode

    1. Dim x As Integer = CInt(My.Settings.Etk_Breite) * 3.78
    2. Dim y As Integer = CInt(My.Settings.Etk_Hoehe) * 3.78


    angaben in der Form in mm... Umrechnungsfaktor ist aber 3.78.
    habs ausgedruckt und nachgemessen...


    aber vielen dank...!!
    klappt
    @michl75: Der Bildschirm kennt keine Millimeter, er kennt nur Pixel.
    Wenn Du jedoch druckst, kannst Du dem Graphics-Objekt sagen, dass Du Deine Positionen und Größen in Millimeter angeben willst, dann wird auch in Millimeter-Einheiten gedruckt.

    VB.NET-Quellcode

    1. Dim g = e.Graphics
    2. g.PageUnit = GraphicsUnit.Millimeter
    Du kannst ja mal probieren, was das auf dem Bildschirm macht.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!