Try
Dim ofdImage As New OpenFileDialog
ofdImage.InitialDirectory = Application.StartupPath
ofdImage.CheckFileExists = True
ofdImage.DefaultExt = "doc"
ofdImage.Multiselect = False
ofdImage.Filter = "이미지|*.jpg*;*.png"
If ofdImage.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
'첨부하려는 그림파일이 2MB 미만으로 제한
Dim img_file As New FileInfo(ofdImage.FileName)
If img_file.Length / 1024 / 1024 > 2 Then '10M이하만 첨부가능
MsgBox("첨부 파일은 2M이하로 사용해주세요")
Exit Sub
End If
'이미지 붙여넣기
Dim img As Image = Image.FromFile(ofdImage.FileName)
' 기존 이미지 업로드 시 사이즈 200,200 으로 수정 후 등록 - 최성환M
'Dim thumb As New Bitmap(200, 200)
'Dim g As Graphics = Graphics.FromImage(thumb)
'g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
'g.DrawImage(img, New Rectangle(0, 0, 200, 200), New Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel)
'Clipboard.SetImage(thumb)
'RichTextBoxEx1.Paste()
'Clipboard.Clear()
''이미지 Size 확인 후 기준(가로) 보다 클 경우 기준 Size 비율 및 기준 Size 이하로 축소 - 김헌호M
If img.Width > 400 Then
Dim St_width As Integer = 400 '가로 기준
Dim Ratio As Double
Dim resize_width, resize_height As Integer
' 가로기준(400) / 원래 그림의 가로를 나눠 비율을 구함
Ratio = (St_width / img.Width)
'구한 비율을 원래 그램의 가로,세로로 곱하여 RESIZE 시킴
resize_width = img.Width * Ratio
resize_height = img.Height * Ratio
'만약 RESIZE 후 세로길이가 600이상인 경우에는 500으로 세로길이 FIX시킴
If resize_height > 600 Then
resize_height = 500
End If
Dim resize_img As New Bitmap(resize_width, resize_height)
Dim g As Graphics = Graphics.FromImage(resize_img)
g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
g.DrawImage(img, New Rectangle(0, 0, resize_width, resize_height), New Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel)
Clipboard.SetImage(resize_img)
End If
RichTextBoxEx1.Paste()
Clipboard.Clear()
End If
Catch ex As Exception
End Try
'VB.net' 카테고리의 다른 글
롤링 ListBox (0) | 2018.04.16 |
---|---|
숫자 올림, 반올림, 버림 (0) | 2018.04.11 |
Form 확대/축소 (0) | 2018.03.30 |
특정글자가 포함되어있는 경우의 조건문 (0) | 2018.03.30 |
Windows Form > Sicker Form으로 만들기 (0) | 2018.03.30 |