크기변경된 개체의 글자크기 계산식 변경

This commit is contained in:
chii
2020-11-05 22:05:11 +09:00
parent 45f2854c49
commit 33633b3982
3 changed files with 39 additions and 12 deletions

View File

@@ -1507,18 +1507,35 @@ Public Class Defalut_PrintForm
If obj.WordWidth = 100 AndAlso obj.WordHeight = 100 Then '//이미지확대축소 디지않았을경우
Ga.DrawString(obj.text2, obj.Font, Brush, NewLeft, NewTop)
Else '//이미지확대축소 됬을경우
Else '//이미지확대축소 됬을경우
'Dim aNewX = obj.GetSize().Width * (obj.WordWidth / 100.0) '* (Ga.DpiX / SrcG.DpiX)
'Dim aNewY = obj.GetSize().Height * (obj.WordHeight / 100.0) ' * (Ga.DpiY / SrcG.DpiY)
If Not Print Then
NewX = obj.GetSize.Width * (obj.WordWidth / 100) '* (Ga.DpiX / SrcG.DpiX)
NewY = obj.GetSize.Height * (obj.WordHeight / 100) ' * (Ga.DpiY / SrcG.DpiY)
NewX = obj.GetSize(Ga).Width * (obj.WordWidth / 100.0) '* (Ga.DpiX / SrcG.DpiX)
NewY = obj.GetSize(Ga).Height * (obj.WordHeight / 100.0) ' * (Ga.DpiY / SrcG.DpiY)
Else
NewX = obj.GetSize.Width * (obj.WordWidth / 100) * (Ga.DpiX / SrcG.DpiX)
NewY = obj.GetSize.Height * (obj.WordHeight / 100) * (Ga.DpiY / SrcG.DpiY)
NewX = obj.GetSize(Ga).Width * (obj.WordWidth / 100.0) * (Ga.DpiX / SrcG.DpiX)
NewY = obj.GetSize(Ga).Height * (obj.WordHeight / 100.0) * (Ga.DpiY / SrcG.DpiY)
End If
'If Not Print Then
' NewX = obj.GetSize().Width * (obj.WordWidth / 100.0) '* (Ga.DpiX / SrcG.DpiX)
' NewY = obj.GetSize().Height * (obj.WordHeight / 100.0) ' * (Ga.DpiY / SrcG.DpiY)
'Else
' NewX = obj.GetSize().Width * (obj.WordWidth / 100.0) * (Ga.DpiX / SrcG.DpiX)
' NewY = obj.GetSize().Height * (obj.WordHeight / 100.0) * (Ga.DpiY / SrcG.DpiY)
'End If
Dim BMP As New Bitmap(NewX, NewY, Ga)
Dim G As Graphics = Graphics.FromImage(BMP)
G.ScaleTransform((obj.WordWidth / 100), (obj.WordHeight / 100))
G.DrawString(obj.text2, obj.Font, Brush, 0, 0)
G.ScaleTransform((obj.WordWidth / 100.0), (obj.WordHeight / 100.0))
Dim sf As New StringFormat()
G.DrawString(obj.text2, obj.Font, Brush, 0.0F, 0.0F)
G.Dispose()
Try
@@ -3061,11 +3078,12 @@ Public Class Defalut_PrintForm
Dim selitem As New ArrayList '//마우스클릭했을때 여러개가 겹친경우 해당 아이템들을 넣는곳
Dim g As Graphics = CreateGraphics()
Tobj = Nothing
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
If Me.AllLabels(i).visible AndAlso Me.AllLabels(i).Text <> "" AndAlso _
((e.X >= Me.AllLabels(i).Left) And e.X <= (Me.AllLabels(i).Left + Me.AllLabels(i).GetSize.Width)) _
AndAlso ((e.Y >= Me.AllLabels(i).Top) AndAlso (e.Y <= (Me.AllLabels(i).Top + Me.AllLabels(i).GetSize.Height))) Then
((e.X >= Me.AllLabels(i).Left) And e.X <= (Me.AllLabels(i).Left + Me.AllLabels(i).GetSize(g).Width)) _
AndAlso ((e.Y >= Me.AllLabels(i).Top) AndAlso (e.Y <= (Me.AllLabels(i).Top + Me.AllLabels(i).GetSize(g).Height))) Then
Tobj = Me.AllLabels(i)
selitem.Add(Me.AllLabels(i))
'Exit For
@@ -3157,10 +3175,11 @@ Public Class Defalut_PrintForm
'//더블클릭하면 번호표시형태를 변경할수 있게한다.
If Me.DMode = E_DesignMode.Text Then
Dim Tobj As CEpole.C_label = Nothing
Dim g As Graphics = CreateGraphics()
For i As Integer = 0 To Me.AllLabels.GetUpperBound(0)
If Me.AllLabels(i).visible AndAlso Me.AllLabels(i).Text <> "" AndAlso _
((e.X >= Me.AllLabels(i).Left) And e.X <= (Me.AllLabels(i).Left + Me.AllLabels(i).GetSize.Width)) _
AndAlso ((e.Y >= Me.AllLabels(i).Top) AndAlso (e.Y <= (Me.AllLabels(i).Top + Me.AllLabels(i).GetSize.Height))) Then
((e.X >= Me.AllLabels(i).Left) And e.X <= (Me.AllLabels(i).Left + Me.AllLabels(i).GetSize(g).Width)) _
AndAlso ((e.Y >= Me.AllLabels(i).Top) AndAlso (e.Y <= (Me.AllLabels(i).Top + Me.AllLabels(i).GetSize(g).Height))) Then
Tobj = Me.AllLabels(i)
Exit For
End If