首页 > 解决方案 > C# Bitmap.Save() 执行但未创建文件

问题描述

使用 .net Framework 4.8 我有一种将图像调整为缩略图的方法。它似乎工作正常,因为我可以在调整大小后看到文件属性并且一切看起来都很好。但是,当我执行应该将新缩略图保存到新文件夹的保存方法时,在新文件夹中找不到文件。所有路径都是正确的。而且我可以确认源文件没有被更改(如预期的那样)。最后我没有得到任何错误。任何想法出了什么问题?这张图片的原始宽度是 600,看截图你可以看到新的宽度是 212,所以这确认我们有一个有效的位图要保存。

在此处输入图像描述

谢谢。

标签: c#

解决方案


就像我有一个像 bmp 这样的位图然后现在我想像这样保存它......

        BitmapImage bitmapimage;

        using (MemoryStream memory = new MemoryStream())
        {
            bmp.Save(memory, System.Drawing.Imaging.ImageFormat.Bmp);
            memory.Position = 0;
            bitmapimage = new BitmapImage();
            bitmapimage.BeginInit();
            bitmapimage.StreamSource = memory;
            bitmapimage.CacheOption = BitmapCacheOption.OnLoad;
            bitmapimage.EndInit();
            


        }
        imgQR1.Source = bitmapimage;
        string filePath = @"C:\Demo_Project\Image\test.png";
        BitmapEncoder encoder = new PngBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create(bitmapimage));

        using (var fileStream = new System.IO.FileStream(filePath, System.IO.FileMode.Create))
        {
            encoder.Save(fileStream);
        }

推荐阅读