C#保存EMF矢量图形文件

C#代码实现矢量画图     要实现C#代码画矢量图,其基本原理是先创建一个容器作为画板,然后创建Line(直线)、PolyLine(多段线)、Rectangle(矩形)或者Ellipse(椭圆)基本绘图对象生成各种矢量图形,最后把这些图形对象添加到画板中即可,一般用Canvas容器作为画板。下面以在Canvas容器控件中绘制Line(直线)、PolyLine(多段线)、Rectangle(矩形)或者Ellipse(椭... 阅读详情

本文转自http://www.cozyboy.com/archives/76.html

 

 

MSDN中有写.Net Framework没有EMF的编码器,如果对调用Save方法,保存的只是个PNG格式。

MSDN原文:

如果图像的文件格式的编码器不存在,则使用可移植网络图形 (PNG) 编码器。使用 Save 方法将图形图像保存为 Windows 图元文件格式 (WMF) 或增强型图元文件格式 (EMF) 文件时,结果文件将另存为可移植网络图形 (PNG) 文件。 发生此行为是由于 .NET Framework 的 GDI+ 组件没有可用来将文件另存为 .wmf 或 .emf 文件的编码器。

When you use the Save method to save a graphic image as a Windows Metafile Format (WMF) or Enhanced Metafile Format (EMF) file, the resulting file is saved as a Portable Network Graphics (PNG) file instead. This behavior occurs because the GDI+ component of the .NET Framework does not have an encoder that you can use to save files as .wmf or .emf files.

但实际操作中发现,确实还是可以保存正确的EMF文件的。

比如下段代码:

string filePath = @”D:\face.emf”;

Bitmap bmp = new Bitmap(220, 220);
Graphics gs = Graphics.FromImage(bmp);
Metafile mf = new Metafile(filePath, gs.GetHdc());

Graphics g = Graphics.FromImage(mf);

g.FillEllipse(Brushes.Gray, 0, 0, 100, 100);
g.DrawEllipse(Pens.Black, 0, 0, 100, 100);
g.DrawArc(new Pen(Color.Red, 10), 20, 20, 60, 60, 30, 120);

g.Save();
g.Dispose();
mf.Dispose();

打开文件,会看到一个可以无损缩放的笑脸。

仔细看,这里调用的是g.Save()!!(其实不调用也可以,估计g在Dispose的时候自动保存了)

但是如果调用Metafile的Save方法,则保存的是一个PNG格式。怪哉!

c#位图转换未矢量图_[转] C#中绘制矢量图形 近来参与了一个项目,软件主要的功能就是使用C#画矢量图,然后导出到Word、Excel、Powerpoint中,并且能够再次被编辑。以下是我们的解决过程:首先应该确定在Office文档中可编辑图形使用的格式;学习了相关资料,了解到Office文档主要支持三种矢量图的格式:1、VML图形,2、WMF文件格式,3、EMF文件格式。由于VML图开一般使用HTML语言进行描述,不便于进行操作,因此决定采用... 阅读详情

相关推荐

doc/docx转html,以及wmf与emf转jpg,png图片

由于本人为此弄了许久,故多收点费用~内有源码以及相关jar包,采用的batik开源poi。

c#如何wmf图片转换成png图片_C# 转PPT为图片(png/tiff/emf)、PDF、html

【C#】using Spire.Presentation;using System;using System.Drawing;namespace PPTtoImg_PPT{class Program{static void Main(string[] args){//创建Presentation类实例,并加载文件Presentation presentation = new Presentatio...

weixin_42458282的博客 320

emf&wmf转png.zip

EMF与WMF格式的图片转为PNG格式的图片,源码C#,是一个EXE执行文件,点击exe,选择路径就,选择保存路径,会自动把指定格式图片转为PNG格式

C# 如何将EMF文件转换成PNG文件

本文主要讲述如何将EMF文件转换成PNG文件。 目录 一、EMF文件和PNG文件 二、代码 一、EMF文件和PNG文件 EMF文件和PNG文件都是Windows系统可以读取的图片文件格式,所以转换比较简单。 二、代码 有几个地方需要要注意: (1)转换的时候要通过填充白色背景来解决透明背景的问题。 (2)最后需要释放Image对象,否则会因文件占用问题,无法打开文件。 /// <summary> /// 将EMF文件转换成PNG文件 .

weixin_36508976的博客 1909

74HC165级联踩坑实录:STM32读取32路开关状态,时序调试与常见问题排查

本文详细介绍了74HC165级联在STM32读取32路开关状态时的时序调试与常见问题排查。从硬件设计的PCB布局优化、电源噪声控制,到软件时序的精确调校和数据采集策略,提供了完整的解决方案。通过逻辑分析仪和示波器的高效使用,解决了信号延迟和干扰问题,最终实现了稳定可靠的32路信号读取。

weixin_34046298的博客 313

嵌入式C开发必备:用Cursor规则搞定代码风格检查(附Pikachu项目实战)

本文以Pikachu开源项目为例,详细介绍了如何利用Cursor的AI代理规则系统,为嵌入式C开发项目配置一套完整的代码风格检查与规范执行方案。通过实战演示,指导开发者创建项目级规则,实现命名、格式、硬件抽象层及驱动开发的自动化规范,从而提升代码一致性、可维护性和团队协作效率。

weixin_29181861的博客 599

使用 C# 生成 EMF 矢量图形文件

前言公众号上有网友询问我如何生成 EMF 文件的问题:本以为非常简单,我快速给出了解决方案:varbitmap=newBitmap(640,480); varg=Graphics.FromImage(bitmap); g.DrawString("MyIO",newFont(FontFamily.GenericSerif,10),Brushes...

dotNET跨平台 1434

yolov5 onnx推理时报错[ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Unexpected input data type.

yolov5 onnxruntime 推理报错

zjulkw的博客 1223

如何在 C# 中将 Word 文档转换为 EMF(增强型图元文件)

需要将Word文档转为EMF矢量图?手动截图或另存为既麻烦又失真!现在,借助Spire.Doc for .NET,几行C#代码就能无损转换,让文档插图清晰又专业!

2501_93070081的博客 1073

Xiaojie雷达之路---使用CCS创建一个毫米波雷达的工程(AWR1843)

前些天,在工具箱中下载了一个基于毫米波雷达(AWR1843)自动停车的案例,并成果导入CCS中,可以完美运行,但是如何新建一个新的工程呢?这篇文章就会对其进行讲述。

XiaoJie的博客 4550

从多项式到神经网络:DPD算法演进史及其在RRU中的工程实现

本文系统梳理了数字预失真(DPD)算法从经典多项式模型、查表法到神经网络驱动的演进历程,并深入探讨了其在基站射频单元(RRU)中面临的硬件资源约束与工程实现挑战。文章为通信设备的技术决策者提供了算法选型、性能权衡及混合架构设计的实用评估框架,助力在性能、功耗与成本间找到最优平衡。

cherry的博客 1076

C#绘制矢量图(Metafile,WMF,EMF)

主要的功能就是使用C#画矢量图,然后导出到Word、Excel、Powerpoint中,并且能够再次被编辑。以下是解决过程: 首先应该确定在Office文档中可编辑图形使用的格式;学习了相关资料,了解到Office文档主要支持三种矢量图的格式:1、VML图形,2、WMF文件格式,3、EMF文件格式。由于VML图开一般使用HTML语言进行描述,不便于进行操作,因此决定采用WMF和EMF文件格式。 接...

爱.NET 2841

复现YOLOv8语义分割和目标检测训练自己的数据集

训练过程首先会显示你所使用的训练的硬件设备信息,然后下一段话则是你的参数配置,紧接着是backbone信息,最后是加载信息,并告知你训练的结果会保存在runs\segment\trainxx。(1)修改数据加载配置文件,在E:\project\MODEL\YOLO\yolov8-8.2.76\ultralytics-8.2.76\ultralytics\cfg\datasets。三、训练自己的数据集,segment数据集是json格式的。如果想使用多卡训练,device='\0,1,2,xxx\'

m0_56182552的博客 2764

C#利用Spire.Doc for .NET库将Word文档转换为EMF格式

Spire.Doc for .NET 提供了直观的 API 来实现 Word 到 EMF 的转换。:表示一个 Word 文档对象,用于加载和操作 Word 文件。:用于从指定路径加载 Word 文档。:将文档的指定页保存为图像。其中指定了输出为图元文件(包括 EMF)。:将对象保存为指定格式的图像文件。用于保存为 EMF 格式。

sillyoung的博客 29

Modbus测试工具ModbusPoll与Modbus Slave使用方法 小白实操记录

Modbus 下面介绍modbus标准协议从站、主站仿真工具;可用于指令下发,数据采集等;是学习、现场运维的好工具。 1 介绍 Modbus Poll :Modbus主机仿真器,用于测试和调试Modbus从设备。该软件支持ModbusRTU、ASCII、TCP/IP。用来帮助开发人员测试Modbus从设备,或者其它Modbus协议的测试和仿真。它支持多文档接口,即,可以同时监视多个从设备/数据域。每个窗口简单地设定从设备ID,功能,地址,大小和轮询间隔。你可以从任意一个窗口读写寄存器和线圈。如果你想改

码灵的博客 1万+

群辉NAS映射为本地盘符

鼠标右击网络→映射网络驱动器→以上适合通过局域网操作,采用ZeroTier组网后,也可以按照以上步骤实现,这时使用 “虚拟局域网”的IP地址。

dgnankai的专栏 5775

c#位图转换未矢量图_C#绘制矢量图(Metafile,WMF,EMF)

主要的功能就是使用C#画矢量图,然后导出到Word、Excel、Powerpoint中,并且能够再次被编辑。以下是解决过程:首先应该确定在Office文档中可编辑图形使用的格式;学习了相关资料,了解到Office文档主要支持三种矢量图的格式:1、VML图形,2、WMF文件格式,3、EMF文件格式。由于VML图开一般使用HTML语言进行描述,不便于进行操作,因此决定采用WMF和EMF文件格式。接下来...

weixin_39861498的博客 560

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

[转] C#中绘制矢量图形

无涯原文C# 绘制矢量图形 [原创] 近来参与了一个项目,软件主要的功能就是使用C#画矢量图,然后导出到Word、Excel、Powerpoint中,并且能够再次被编辑。以下是我们的解决过程: 首先应该确定在Office文档中可编辑图形使用的格式;学习了相关资料,了解到Office文档主要支持三种矢量图的格式:1、VML图形...

weixin_34116110的博客 424

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C#中如何生成矢量图

主要的功能就是使用C#画矢量图,然后导出到Word、Excel、Powerpoint中,并且能够再次被编辑。以下是解决过程:    首先应该确定在Office文档中可编辑图形使用的格式;学习了相关资料,了解到Office文档主要支持三种矢量图的格式:1、VML图形,2、WMF文件格式,3、EMF文件格式。由于VML图开一般使用HTML语言进行描述,不便于进行操作,因此决定采用WMF和EMF文件格式...

weixin_34184561的博客 579

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

使用 C# 将 Excel 转换成高质量 JPG

在日常办公开发中,经常遇到需要将 Excel 表格转换为图片的需求。无论是生成报表预览、数据展示,还是防止表格格式错乱,将 Excel 转换为 JPG 都是一种实用的解决方案。今天分享如何使用 Spire.XLS 库,配合 C# 代码实现高质量 Excel 转 JPG。

asdzx67的博客 339

矢量图形引擎库VectorDraw Developer Framework 更新至v7.7011.0.4

VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。 VectorDraw Developer Framework点击下载>>> VectorDra

慧聚IT 968

Sliverlight 3 3D 游戏开发学习 第一章:光照、照相机与行为

本章内容: 1、准备Silverlight 3游戏开发环境 2、认识数码艺术资源 3、为一个新的2D游戏创建准备数码资源 4、理解2D游戏开发过程中的相关工具 5、学会处理、预览和缩放数码资源 6、使用数码资源来创建并运行首个图形应用程序 UFO入侵 开发3D游戏需要尽可能的发挥...

denglongsan0790的博客 205

CAD处理组件CADViewX发布V15.2新版本,大幅改进导入和导出功能

是一款能让应用程序具有强大CAD图像浏览和打印功能的图像处理工具,无需任何CAD软件或查看器即可打开、浏览、打印AutoCAD等几十种格式的图像文件,还能享受直观的鼠标滚轮缩放、拖拽、平铺印画功能。CADViewX组件可用于在任何支持ActiveX技术的开发环境中(Visual C ++,C#,Delphi,HTML / JavaScript等)使用矢量和光栅图像。如果您需要编辑DWG、DXF、PLT、SVG、CGM或任何其他矢量格式,请使用CADEditorX组件。已在使用图纸的不同领域获得广泛认可。

开发者效率提升工具的博客 1597

MeteoInfo介绍

MeteoInfo简介: MeteoInfo是一个免费、开源的气象数据显示、分析软件,具有较强的综合数据图形显示、分析能力,操作简便、图形美观。软件支持多种常用气象数据格式,具备一些基本的GIS功能。MeteoInfo还可以通过编脚本程序自动运行,具备强大的数据分析功能。MeteoInfo的核心功能封装在类库中,使用该类库可以方便快捷地开发气象数据显示分析类软件。目前MeteoInfo分别由两种语言开发:Java和C#,二者的功能和用法类似,Java版具备很强的跨平台能力,是今后发展的重点。 Java版:

qq_44955314的博客 8295

ImageGlass:90+格式支持的Windows图片浏览器,你的专业视觉助手

你是否曾为电脑中五花八门的图片格式而烦恼?从摄影师的专业RAW文件到设计师的PSD源文件,从现代的HEIC照片到网页常用的WEBP格式,Windows自带的图片查看器总是力不从心。更别提那些启动缓慢、界面臃肿的第三方软件了。今天,我要为你介绍一款真正解决这些痛点的开源图片浏览器——ImageGlass。 ## 为什么你需要ImageGlass?传统图片查看器的三大痛点 在深入探索ImageGl

gitblog_00642的博客 219
上一篇: Silverlight 中将DataGrid中所有分页导出到Excel
下一篇: 利用reportviewer与C#生成报表
lujunql
博客等级 码龄19年 156粉丝 124原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值