C#实现图片背景色透明(亲测有效)

重要代码:

Bitmap bm = new Bitmap(origin);
            bm.MakeTransparent();

string Name_ = "C:\\Users\\xx\\Downloads\\download\\" + DateTime.Now.Ticks.ToString() + ".ico";Size size = new Size(256, 64);ConvertImageToIcon(@"C:\Users\xx\Desktop\orgin.jpg", Name_, size);/// <summary>/// 图片转换为ico文件/// </summary>/// <param name="origin">原图片路径</param>/// <param name="destination">输出ico文件路径</param>/// <param name="iconSize">输出ico图标尺寸,不可大于255x255</param>/// <returns>是否转换成功</returns>public static bool ConvertImageToIcon(string origin, string destination, Size iconSize){Bitmap bm = new Bitmap(origin);bm.MakeTransparent();Image image = new Bitmap(bm, iconSize); //先读取已有的图片为bitmap,并缩放至设定大小//Image image = new Bitmap(new Bitmap(origin), iconSize); //先读取已有的图片为bitmap,并缩放至设定大小MemoryStream bitMapStream = new MemoryStream(); //存原图的内存流MemoryStream iconStream = new MemoryStream(); //存图标的内存流image.Save(bitMapStream, ImageFormat.Png); //将原图读取为png格式并存入原图内存流BinaryWriter iconWriter = new BinaryWriter(iconStream); //新建二进制写入器以写入目标图标内存流/*** 下面是根据原图信息,进行文件头写入*/iconWriter.Write((short)0);iconWriter.Write((short)1);iconWriter.Write((short)1);iconWriter.Write((byte)image.Width);iconWriter.Write((byte)image.Height);iconWriter.Write((short)0);iconWriter.Write((short)0);iconWriter.Write((short)32);iconWriter.Write((int)bitMapStream.Length);iconWriter.Write(22);//写入图像体至目标图标内存流iconWriter.Write(bitMapStream.ToArray());//保存流,并将流指针定位至头部以Icon对象进行读取输出为文件iconWriter.Flush();iconWriter.Seek(0, SeekOrigin.Begin);Stream iconFileStream = new FileStream(destination, FileMode.Create);Icon icon = new Icon(iconStream);icon.Save(iconFileStream); //储存图像/*** 下面开始释放资源*/iconFileStream.Close();iconWriter.Close();iconStream.Close();bitMapStream.Close();icon.Dispose();image.Dispose();return File.Exists(destination);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/163859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频网关简介

在数字化时代&#xff0c;视频通信已经成为了人们日常生活和工作中的重要部分。为了满足不同设备和平台之间的视频通信需求&#xff0c;各种视频协议应运而生。然而&#xff0c;这些协议之间的差异使得相互通信变得复杂。因此&#xff0c;视频网关作为一种重要的网络设备&#…

Oracle中文显示???????解决办法

项目场景&#xff1a; Oracleoracle中文显示???解决办法 问题描述 原因分析&#xff1a; Oracle中文显示???通常是由于字符集不匹配或者编码问题导致的。当数据库中的数据使用的是某种字符集&#xff0c;而客户端或者应用程序使用的是另一种字符集时&#xff0c;就会出…

解决Android端libc++_shared.so库冲突问题

前言 随着App功能增多&#xff0c;集成的so库也会增多&#xff0c;如果系统中多个so库都使用系统自动生成的libc_shared.so库&#xff0c;如果多个SDK都有该so包&#xff0c;就会出现报错&#xff1a; 解决办法 如果出现该问题&#xff0c;说明您的项目中有多个SDK共同依赖了C标…

fastjson2解析多为小数报错 TODO问题

解决方式&#xff1a;使用谷歌的gson可以解析多为小数

Java常见的bug

Java是一种强类型、面向对象的编程语言,有一些常见的bug或错误类型,尽管具体的bug会因项目和代码的不同而有所差异。以下是一些Java开发中常见的bug类型: 空指针异常(NullPointerException): 尝试在一个空对象上调用方法或访问属性时会引发空指针异常。这通常发生在没有对…

【双指针】有效三角形的个数

有效三角形的个数 611. 有效三角形的个数 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2…

MIME 类型

MIME 类型 MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准&#xff0c;用来表示文档、文件或字节流的性质和格式。 MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。 浏览器通常使用 MIME 类型&#xff08;而不是文件扩展名&am…

如何编写一份优质的测试用例?

前言 这篇文章主要是想要写给测试小伙伴们的&#xff0c;因为我发现还是有很多小伙伴在遇到写测试用例的时候无从下手&#xff0c;我就想和大家简单的聊聊&#xff0c;分享一下我的一些见解和经验。 用例的五个构成元素&#xff1a; 用例标题前置条件测试步骤期望结果后置条…

05 Powershell发送http请求

一&#xff1a;发送http请求 1、语法&#xff1a; Invoke-WebRequest -uri "请求地址" -UseBasicParsing 2、实例&#xff1a; $result Invoke-WebRequest -uri "http://rdc.mingyuanyun.com/rdc-service/api/v2/apps/$($app)/versions/maxpackversion"…

腾讯又出王炸产品!使用混元大模型进行数据报表测试

最近腾讯出了自己的大模型&#xff0c;命名混元。 现在已经开始内测&#xff0c;感谢腾讯小伙伴卢晓明同学帮我们提前申请到了内测机会&#xff0c;接下来我们用腾讯混元大模型与实际工作结合&#xff0c;开始我的报表测试之旅。 腾讯混元大模型官方入口:https://hunyuan.ten…

Java 基础面试题大概有哪些?

Java基础面试题的范围非常广泛&#xff0c;一般包括以下几个方面&#xff1a; 一、Java基础语法 数据类型&#xff1a;Java中包括基本数据类型和引用数据类型&#xff0c;基本数据类型包括byte、short、int、long、float、double、char、boolean&#xff0c;引用数据类型包括…

三十分钟学会Shell(下)

Shell 3.1 运算符 3.1.1 算数运算符 在Shell脚本中&#xff0c;算术运算符用于执行基本的数学运算。Shell支持多种算术运算符&#xff0c;包括加、减、乘、除等。以下是关于Shell算术运算符的一些方法以及相应的示例说明&#xff1a; 加法&#xff1a; a10 b20 c$((a b)) …

【第二部分:结构】ARM Realm Management Monitor specification

目录 概念Realm概述Realm执行环境Realm寄存器Realm内存Realm处理器功能IMPDEF系统寄存器 Realm属性Realm活性Realm生命周期状态状态转换 Realm参数Realm描述符 颗粒Granule颗粒属性颗粒所有权颗粒生命周期状态状态转换颗粒抹除 Realm执行上下文概述REC属性REC指数和MPIDR值REC生…

洞悉今日,把握明日:咨询公司的关键策略揭秘

在快节奏且充满不确定性的商业环境中&#xff0c;能够洞悉当前市场动态并预测未来趋势的企业更有可能获得成功。咨询公司在这个过程中扮演着关键角色&#xff0c;本文将探讨咨询公司如何帮助企业洞悉现状并把握未来趋势&#xff0c;以及他们运用的关键策略。 咨询公司的市场洞察…

百度地图,地市区域描边

描边首先需要各个点的经纬度数据 json数据下载 直接复制粘贴进入页面ctrls保存就可以了。 如果需要某省中的各个地市描边可以点击这个省的进行下载&#xff0c;这里以山东为例&#xff0c;我是先下载了山东的json数据,但是发现只有山东省下各个市的描边&#xff0c;于是又下了中…

Mac下载的软件显示文件已损坏,如何解决文件已损坏问题,让文件可以正常运行

Mac下载的软件显示文件已损坏&#xff0c;如何解决文件已损坏问题&#xff0c;让文件可以正常运行 设备/引擎&#xff1a;Mac&#xff08;11.6&#xff09;/Mac Mini 开发工具&#xff1a;终端 开发需求&#xff1a;让显示已损坏的文件顺利安装到电脑 大家肯定都遇到过下载…

ESP32 MicroPython 颜色及二维码识别⑫

ESP32 MicroPython 颜色及二维码识别⑫ 1、颜色识别2、二维码识别 1、颜色识别 使用AI颜色识别功能&#xff0c;可以实现颜色辨别、颜色追踪等应用。颜色识别模型内置有9种常见的颜色识别和一种颜色学习识别模式。他们分别是&#xff1a; ai.COLOR_RED 表示识别红色 ai.COLOR…

【Linux】关系运算符、shell判断脚本执行时是否有传参、判断文件/文件夹是否存在、判断字符串是否相等、判断上个命令执行是否正常、判断字符串是否为空

&#x1f984; 个人主页——&#x1f390;个人主页 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; 感谢点赞和关注 &#xff0c;每天进步一点点&#xff01;加油&#xff01;&…

全网最详细的安装pytorch GPU方法,一次安装成功!!包括安装失败后的处理方法!

文章目录 前提---查看是否有NVIDIV英伟达显卡【笑哭】一、查看电脑的显卡驱动版本方法一&#xff1a;在cmd命令窗口中输入nvidia-smi&#xff0c;可以发现版本为12.2方法2&#xff1a;点击NVIDIA控制面板→系统信息 二、安装CUDA方法1&#xff1a; 在pytorch官网https://pytorc…