wpf 保存图片到任意格式jpg,png,bmp

2023-11-11

private void ExportBtn_Click(object sender, RoutedEventArgs e)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = "jpg文件|*.jpg|png文件|*.png|bmp文件|*.bmp|所有文件|*.*";
            saveFileDialog.RestoreDirectory = true;
            saveFileDialog.ShowDialog();

            string path = saveFileDialog.FileName;
            if (path == "")
            {
                return;
            }

            var image = (this.imagListBox.SelectedItem as PictureInfo).PicturePath;//图片的文件路径
            string pictureName = saveFileDialog.FileName;

            using (MemoryStream mem = new MemoryStream())
            {
                //这句很重要,不然不能正确保存图片或出错(关键就这一句)
                System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(image);
                string extension = System.IO.Path.GetExtension(path);//扩展名
                                                                     //保存到磁盘文件
                if (extension == ".jpg")
                {
                    bmp.Save(@pictureName, System.Drawing.Imaging.ImageFormat.Jpeg);

                }
                else if (extension == ".png")
                {
                    bmp.Save(@pictureName, System.Drawing.Imaging.ImageFormat.Png);
                }
                else if (extension == ".bmp")
                {
                    bmp.Save(@pictureName, System.Drawing.Imaging.ImageFormat.Bmp);
                }
                else
                {
                    bmp.Save(@pictureName, System.Drawing.Imaging.ImageFormat.Tiff);
                }

                bmp.Dispose();
                MessageBox.Show("导出成功!");
            }
        }

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

wpf 保存图片到任意格式jpg,png,bmp 的相关文章

随机推荐

  • NIO初级例子

    NIO初级例子 前言 一 代码撸上 前言 使用window系统环境 window 环境测试 测试使用telnet ip 端口 win R cmd 输入telnet id port Ctrl send 发送信息 缺点 无阻塞 但是cpu空转
  • UE4_代理示例_时钟

    时钟 TimeOfDayHandler 注册代理 执行代理 Fill out your copyright notice in the Description page of Project Settings pragma once inc
  • 陇原战“疫“2021网络安全大赛 Web EasyJaba

    陇原战 疫 2021网络安全大赛 Web EasyJaba 文章目录 陇原战 疫 2021网络安全大赛 Web EasyJaba 不出网 参考链接 查看源码 禁用了一些类 这里说一下反编译工具的情况 之前我一直用的jd gui 但是本题的附
  • SQLi-LABS(21~25a关详解)

    SQLi LABS Less 21 查看题目环境 登陆给我回显的数据是I LOVE YOU COOKIES 这题看了网上的wp才知道原来是将我们的uname和passwd都进行base64编码 表示不知道怎么看出来的 Cookie unam
  • StandardScaler函数用法

    StandardScaler 是来自 sklearn preprocessing 模块的一个类 其作用是进行特征缩放 使得所有特征的均值为 0 标准差为 1 这种处理方式也被称为数据的标准化 Standardization 或者 Z Sco
  • webView打开的页面和手机浏览器打开的不一样

    同一个url 用webView打开的和直接打开的不一样 webView打开的自动就有个商品在里面了 而且按钮也点击无效 大神们帮帮忙吧
  • java socket聊天室 swing做界面 Tcp为通讯协议 支持私聊 群聊 发文件

    Java的的的的聊天室 源代码下载 首先我们来看看程序界面 丑到爆 勉强能用就行啦 第一个 登录界面 第二个 用户界面 第三个 服务器界面 好了上面三个界面是程序的主界面 下面我们先讲讲如何使用源代码 使用条件 一数据库 我这里用的MyS
  • Linux系统点亮LED

    目录 应用层操控硬件的两种方式 sysfs 文件系统 sysfs 与 sys 总结 标准接口与非标准接口 LED 硬件控制方式 编写LED 应用程序 在开发板上测试 对于一款学习型开发板来说 永远都绕不开LED 这个小小的设备 基本上每块板
  • webstorm配置sass

    最近用webstorm 做项目 使用create react app创建项目 安装node sass chokidar 使用命令行来将sass转换为css 不尽人意的是 在vscode 可以正常使用 到了webstorm TM 一直不会自动
  • 视频点播服务器的配置如何选择,需要多大的带宽

    对于普通的企业网站 服务器带宽只需5M 10M 每天面对1w用户是没有问题的 图片网站 10M带宽可能只支持100 1k人 天访问 然后 如果是一个视频点播网站 服务器的带宽将增加几十倍 特别是对于视频点播服务器 瓶颈是带宽 视频点播服务器
  • 知识星球-伙伴匹配系统笔记2

    朋友伙伴匹配系统笔记2 1 前端整合路由 下载vue router 由于我们使用的是vue3 所以对应的是4版本的路由 npm install vue router 4 或者 yarn add vue router 4 如下图 前端整合路由
  • BootLoader介绍

    文章目录 一 BootLoader的引入 二 BootLoader的启动方式 三 BootLoader的结构和启动过程 四 自己写一个BootLoader 1 BootLoader第一阶段 2 BootLoader第二阶段 一 BootLo
  • Python爬虫常见HTTP状态码及解决方案

    爬虫工程师在数据采集过程中 不可避免地会遇到各种各样的问题 我们需要快速地对HTTP请求返回的各种异常状态码来判断处理 以便于我们及时调整爬虫策略 优化思路 及时完成作业 正常情况下 在使用代理IP时会出现以下错误状态码 一 代理链接失败
  • vue3使用高德地图,自定义点标记、默认点聚合样式、点击点标记获取信息

    1 需求 根据不用的类型和经纬度展示不同的自定义点标记 点标记太多 使用点聚合优化 参考 https blog csdn net qq 39157025 article details 120287561 2 在index html使用CD
  • Java学习笔记18——接口

    接口 接口概述 接口的特点 新建接口 创建一个实现类 Demo测试 总结 接口的成员特点 成员变量 构造方法 成员方法 类和接口的关系 类和类的关系 类和接口的关系 接口和接口之间的关系 抽象类与接口之间的区别 成员区别 关系区别 设计理念
  • c#基础知识---集合之队列

    队列 Queue 代表了一个先进先出的对象集合 当您需要对各项进行先进先出的访问时 则使用队列 当您在列表中添加一项 称为入队 当您从列表中移除一项时 称为出队 Queue 类的方法和属性 下表列出了 Queue 类的一些常用的 属性 属性
  • MySQL进阶(终篇)

    无知的我正在复习MySQL进阶知识 笔记特点是 我重新整理了涉及资料的一些语言描述 排版 而使用了自己比较容易理解的描述 同样是回答了一些常见关键问题 如果有遇到有任何无法进展问题或者疑惑的地方 应该在讨论区留言 或者 其他途径以寻求及时的
  • [开发工具使用基础-vs2013] 增加外部文件到项目工程

    此文适合于在vs2013中入门C 编程的人员借鉴 主要功能是添加外部文件 比如你网上下载的 cpp文件和 h头文件 到本项目工程 过程演示 1 新建一个C 空项目NewProgram 项目名自取 对于你的话就是你自己的项目了 完成后解决方案
  • Unity资源管理——使用UnityWebRequest从云端下载Assetbundle包

    1 环境 基于Unity2018 2 2 思路 1 使用UnityWebRequest Get方法去获取AB包 2 在协程中返回UnityWebRequest实例对象的SendWebRequest方法返回值 3 当UnityWebReque
  • wpf 保存图片到任意格式jpg,png,bmp

    private void ExportBtn Click object sender RoutedEventArgs e SaveFileDialog saveFileDialog new SaveFileDialog saveFileDi