根据文件扩展名获取图片编码器如jpg/png格式|C/S开发框架
作者:csframework|C/S框架网  发布日期:2023/08/03 12:48:43

创建 BitmapEncoder 类

C# 全选
        /// <summary>
        /// 根据文件扩展名获取图片编码器
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <returns>图片编码器</returns>
        private BitmapEncoder GetBitmapEncoder(string filePath)
        {
            var extName = System.IO.Path.GetExtension(filePath).ToLower();
            if (extName.Equals(".jpg"))
            {
                return new JpegBitmapEncoder();
            }
            if (extName.Equals(".png"))
            {
                return new PngBitmapEncoder();
            }
            else
            {
                return new JpegBitmapEncoder();//位图
            }
        }

SaveAs 另外为图片

C# 全选
 SaveFileDialog dlg = new SaveFileDialog();
            dlg.Filter = "JPEG文件|*.jpg|PNG文件|*.png|BMP位图文件|*.bmp;";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                var filePath = dlg.FileName;

                using (MemoryStream ms = new MemoryStream(_CurrentImageData.ImgLarge))
                {
                    BitmapEncoder encoder = GetBitmapEncoder(filePath);
                    encoder.Frames.Add(BitmapFrame.Create(ms));
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {
                        encoder.Save(stream);
                        if (File.Exists(filePath)) Msg.ShowInformation("保存成功!");
                    }
                }
            }

C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇