16,554
社区成员
发帖
与我相关
我的任务
分享
Dim fileImg As Image = Image.FromFile(Path) '<- 这个大小不确定'
Dim img As New System.Drawing.Bitmap(fileImg.Width, fileImg.Height) '按照图片大小,初始化画布
Dim g As Graphics = Graphics.FromImage(img)
'因为图片大小不确定不能按照picturebox去初始化画布
'PictureBox1.Image = Image.FromFile(Path)
'Dim img As System.Drawing.Bitmap = PictureBox1.Image
'Dim g As Graphics = Graphics.FromImage(img)
g.CompositingQuality = CompositingQuality.HighQuality
g.SmoothingMode = SmoothingMode.HighQuality
g.InterpolationMode = InterpolationMode.HighQualityBicubic
'绘图
g.DrawImage(fileImg, New Rectangle(0, 0, img.Width, img.Height)) '<- 拉伸'
'绘文字
g.DrawString(Name, fnt, New SolidBrush(newForeColor), New PointF(aX, aY))
PictureBox1.Image = New Bitmap(img)
PictureBox1.Refresh()
'无损压缩
If Not SaveImage(img, newPath & "\" & bh & ".jpg", "JPEG") Then
'如果不匹配“JPEG”格式,不进行无损压缩,强制保存为jpg格式。
img.Save(newPath & "\" & bh & ".jpg")
End If
g.Dispose()
img.Dispose()
fileImg.Dispose()
Private Sub AddText(ByVal Path As String, ByVal bh As String, ByVal Name As String, ByVal newPath As String, ByVal fnt As Font, ByVal colr As SolidBrush, ByVal aX As Long, ByVal aY As Long, ByVal aRbtn As Integer)
Dim fileImg As Image = Image.FromFile(Path) '<- 这个大小不确定'
Dim img As New System.Drawing.Bitmap(PictureBox1.Width, PictureBox1.Height)
Dim g As Graphics = Graphics.FromImage(img)
g.CompositingQuality = CompositingQuality.HighQuality
g.SmoothingMode = SmoothingMode.HighQuality
g.InterpolationMode = InterpolationMode.HighQualityBicubic
'Dim s = g.MeasureString(Name, fnt)
'MsgBox(s.Width & " " & s.Height)
g.DrawImage(fileImg, New Rectangle(0, 0, PictureBox1.Width, PictureBox1.Height)) '<- 拉伸'
g.DrawString(Name, fnt, colr, New PointF(aX, aY))
PictureBox1.Image = New Bitmap(img)
PictureBox1.Refresh()
If Not SaveImage(img, newPath & "\" & bh & ".jpg", "JPEG") Then
img.Save(newPath & "\" & bh & ".jpg") '<- 格式不对会影响显示吧,不会出问题?'
End If
fileImg.Dispose()
g.Dispose()
img.Dispose()
End Sub
Private Sub AddText(Path As String, bh As String, Name As String, newPath As String, fnt As Font, colr As SolidBrush, aX As Long, aY As Long, aRbtn As Integer)
PictureBox1.Image = Image.FromFile(Path)
Dim img As System.Drawing.Bitmap = PictureBox1.Image
Dim g As Graphics = Graphics.FromImage(img)
g.CompositingQuality = CompositingQuality.HighQuality
g.SmoothingMode = SmoothingMode.HighQuality
g.InterpolationMode = InterpolationMode.HighQualityBicubic
'Dim s = g.MeasureString(Name, fnt)
'MsgBox(s.Width & " " & s.Height)
g.DrawString(Name, fnt, colr, New PointF(aX, aY))
PictureBox1.Image = New Bitmap(img)
PictureBox1.Refresh()
'无损压缩
If Not SaveImage(img, newPath & "\" & bh & ".jpg", "JPEG") Then
'如果不匹配“JPEG”格式,不进行无损压缩,强制保存为jpg格式。
img.Save(newPath & "\" & bh & ".jpg")
End If
g.Dispose()
img.Dispose()
End Sub