VB.NET 이미지를 가로/세로 비율에 맞춰서 원하는 크기로 리사이즈
2022. 12. 5. 13:22ㆍVB.NET
아래 소스는 이미지의 가로사이즈를 기준으로 800보다 큰 이미지만 비율에 맞춰서 리사이즈 하는 소스이다.
VB.NET에서 이미지를 다루는건 VB6에서 다루는것보다 훨씬 쉽다. 대신에 지원하는 라이브러리를 알아야 하는 단점이 있기는 하다.
Public Function ResizeImage(pImageArr() As Byte) As Byte()
Dim lpArr() As Byte = {}
Dim lpWidth, lpHeight As Integer
Try
Dim lpStream As Stream = New MemoryStream(pImageArr)
Dim src = New Bitmap(lpStream)
lpStream.Close()
If src.Width > 800 Then
lpWidth = 800
lpHeight = src.Height * lpWidth / src.Width
Else
lpWidth = src.Width
lpHeight = src.Height
End If
Dim newsize = New Size(lpWidth, lpHeight)
Dim desc = New Bitmap(src, newsize)
desc.SetResolution(72, 72)
Dim lpStream2 = New MemoryStream
desc.Save(lpStream2, Imaging.ImageFormat.Jpeg)
lpStream2.Position = 0
ReDim lpArr(lpStream2.Length - 1)
lpStream2.Read(lpArr, 0, lpStream2.Length)
lpStream2.Close()
Return lpArr
Catch ex As Exception
Return lpArr
End Try
End Function
이 소스를 활용하면 이미지 파일을 불러와서 새로운 크기로 다시 저장하는 기능쯤은 그대로 사용 가능하다.
반응형
'VB.NET' 카테고리의 다른 글
WinHTTP로 패킷을 요리하자. (0) | 2022.12.08 |
---|---|
VB.NET OrderBy, ThenBy를 이용한 리스트 정렬 (역순정렬 포함) (0) | 2022.12.05 |
사진을 음악으로 연주하면 어떤 소리가 날까? (1) | 2022.12.05 |
VB.NET 간단한 후킹을 통해 단축키 생성하기 (0) | 2022.11.29 |
[VB.NET 2022] JSON Parsing - JSON을 파싱해보자. (0) | 2022.11.21 |