VB.NET não pode girar a string na imagem

Oct 29 2020

Quero girar o barbante na imagem, mas não consigo, alguém pode me ajudar, tentei "drawformat" mas não gira, apenas centra. Eu quero girar B no caso "K-11" 90 graus, B 45 graus e C 90 graus no "K-21" ou algo parecido. Muito obrigado.

Public Class ImageRebartoRevit
    Private Sub OK_Click(sender As Object, e As EventArgs) Handles OK.Click
        xuat_shapcode_revit(ShapeCode.Text)
    End Sub
    Function xuat_shapcode_revit(shapecode As String) As Boolean
        Dim newBitmap As Bitmap
        newBitmap = New Bitmap("C:\Users\ADMIN\Desktop\IMG\" + shapecode + ".png")
        Dim Graphics As Graphics
        Dim A As String = L1.Text
        Dim B As String = L2.Text
        Dim C As String = L3.Text        
        Graphics = Graphics.FromImage(newBitmap)

        Dim drawformat As New StringFormat()
        drawformat.Alignment = StringAlignment.Center

        Select Case shapecode
            Case "K-00"
                Graphics.DrawString(A, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(470, 90), drawformat)
            Case "K-11"
                Graphics.DrawString(A.ToString, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(843, 128), drawformat)
                Graphics.DrawString(B.ToString, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(457, 124), drawformat)
            Case "K-21"
                Graphics.DrawString(A.ToString, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(75, 139), drawformat)
                Graphics.DrawString(B.ToString, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(467, 124), drawformat)
                Graphics.DrawString(C.ToString, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(859, 139), drawformat)
            
        End Select
        newBitmap.Save("C:\Users\ADMIN\Desktop\IMG\out_put_" + shapecode + ".bmp", System.Drawing.Imaging.ImageFormat.Jpeg)
        Return True
    End Function
End Class

Respostas

maxlevel2011 Nov 05 2020 at 08:38
            Graphics.DrawString(A.ToString, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(220, 215), drawformat)

            Graphics1.TranslateTransform(50, 230)
            Graphics1.RotateTransform(-29)
            Graphics1.DrawString(B.ToString, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(408, 119), drawformat)

            Graphics.DrawString(C.ToString, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(820, 45), drawformat)

            Graphics2.TranslateTransform(910, 1010)
            Graphics2.RotateTransform(-90)
            Graphics2.DrawString(D.ToString, New Font("Arial", 50, FontStyle.Regular), New SolidBrush(Color.Black), New Point(940, 40), drawformat)

Olá a todos, descobri e consegui, vocês viram da melhor maneira?