调整多个图像的大小并将其保存到单独的文件夹中

时间:2018-05-18 07:37:43

标签: vb.net image resize compression

我需要调整大小并压缩存储在文件夹中的200张图像。 我使用从另一个问题得到的代码将这些图像放在列表中:

rownames(dfTest) <- dfName

现在,我需要将每个图像压缩并缩小为(500x374),然后将它们保存在我的PC上的另一个文件夹中。

1 个答案:

答案 0 :(得分:1)

好吧,首先让我指出一些关于代码的要点:

  • PictureBox在这里没有任何用途。您不应该创建PictureBox来使用Image。
  • 务必记住处置Image对象(例如,将其包裹在Using块中),这样就不会遇到内存问题。
  • 与C#不同,VB.NET不需要转义\字符,因此,您可以像这样编写路径&#34; C:\ Users ...&#34;。< / LI>

现在,为了调整图像大小,您可以使用构造函数创建Bitmap类的实例,该构造函数采用图像和大小参数:Bitmap(Image, Size)Bitmap(Image, Int32, Int32)

下面:

Dim sourcePath As String = "C:\Users\Charbel\Desktop\Images"
Dim outputPath As String = "C:\Users\Charbel\Desktop\Images\Resized"

IO.Directory.CreateDirectory(outputPath)

Dim dir = New IO.DirectoryInfo(sourcePath)
Dim files As IO.FileInfo() = dir.GetFiles("*.jpg", IO.SearchOption.AllDirectories)
For Each fInfo In files
    Using img As Bitmap = Image.FromFile(fInfo.FullName)
        Using resizedImg As New Bitmap(img, 500, 374)
            resizedImg.Save(IO.Path.Combine(outputPath, fInfo.Name),
                            Imaging.ImageFormat.Jpeg)
        End Using
    End Using
Next