我可以使用C#从PictureBox中的.zip文件中查看图像(缩略图)而不提取.zip吗?
答案 0 :(得分:4)
不,如果不从zip中提取图像,则无法执行此操作。您不一定需要将其提取到临时文件中,您可以将其提取到内存流中,然后从该流中创建图像。
答案 1 :(得分:2)
您可以将.ZIP中的单个文件提取到内存流中。 DotNetZip是一个可以执行此操作的库。
以下是其示例页面中的示例:
using (ZipFile zip = ZipFile.Read(ExistingZipFile))
{
ZipEntry e = zip["Image.bmp"];
e.Extract(outputStream);
}
现在,您可以将图片放在流中,您可以使用它来设置PictureBox
的来源:
var bmp = new Bitmap(outputStream);
pictureBox.Image = bmp;