В приведенном ниже коде вы сначала загружаете изображение, затем создаете новое изображение с новой шириной и высотой, извлекаете из него объект Graphics и, наконец, рисуете старое изображение на новом изображении. Мы рисуем старое изображение на новом изображении, используя размеры старого изображения, но, поскольку новое изображение меньше, остальное будет с холста.
Private Shared Sub CropImage(ByVal inputImagePath As String, ByVal outputImagePath As String, ByVal newHeight As Integer)
Using oldImage = System.Drawing.Image.FromFile(inputImagePath)
Using NewImage As New System.Drawing.Bitmap(oldImage.Width, newHeight)
Using G = Graphics.FromImage(NewImage)
G.DrawImage(oldImage, 0, 0, oldImage.Width, oldImage.Height)
NewImage.Save(outputImagePath, System.Drawing.Imaging.ImageFormat.Jpeg)
End Using
End Using
End Using
End Sub