摘要:
直到现在,
PS:我稍后会对这个问题投出善意的答案,因为我目前还没有足够的声誉。谢谢大家对我的评论!
===
嗨,
非常感谢您的时间!
说我有一张名为"sample_original.bmp“的图片。文件大小为3289×4570,43 is。然后,我执行以下操作将其转换为.EMF文件(增强型MetaFile):
方法1,通过自行制作一个小型的Delphi程序:(1)加载.BMP图像文件.(2)获取TMetaFile(TMetaFileCanvas)的画布(3)调用Canvas.Draw复制图像。(4)保存到.EMF文件,名为"sample_original_bmp2emf_method1.emf“
方法2:(1)在msp本特程序中打开.BMP图像文件,选择"select all",选择"copy“。(2)打开一个名为ChemDraw的外部程序,创建新文档,然后选择“粘贴”。(3)然后选择将其保存为与XML兼容的.cdxml格式,名为"sample_original_bmp2emf_method2.cdxml“。(4)图片的内容(可能改变或退化?)现在保存在sample_original_bmp2emf_method2.cdxml文件中。该格式是Base64 64编码的zlib压缩格式。(5)我可以对XML字符串进行save 64解码,zlib-解压缩它,并将其保存到图片文件"sample_original_bmp2emf_method2.emf“中。
sample_original_bmp2emf_method2.emf的文件大小比sample_original_bmp2emf_method1.emf小15 MB,但宽度和高度得到了维护。此外,如果我在msp本特程序中打开"sample_original_bmp2emf_method2.emf“并将其保存回.bmp文件格式,则会弹出一个警告,即透明信息正在丢失。
你能帮我谈谈如何区分"sample_original_bmp2emf_method1.emf“和"sample_original_bmp2emf_method2.emf”吗?图片是不是因为质量下降而变小了?换句话说,这个外部程序可能会对我原来的图片做什么改变?
谨致问候,
上述文件可在以下网址下载:
http://www.rapidspread.com/file.jsp?id=2ighvzoci8
PS:我相信已经做出了他的回答,然后我给出了我的评论。但我现在看不见了。这应该是系统的正常行为吗?o_o
发布于 2010-12-05 15:22:09
你写道:
save 64-解码XML字符串,zlib-解压缩它,并将其保存到图片文件"sample_original_bmp2emf_method2.emf“中。
所以这肯定不是emf文件,而是压缩格式。或者,在转换成XML之前,它被转换成另一种格式(如向量)。在这种情况下,结果图片中的数据比真正的位图少。
而第一种方法将给您一个emf文件,其大小仅比普通bmp文件大几个字节(即用于封装位图数据的emf记录)。
如果您压缩第一个方法的emf文件,我很肯定您会得到一个比方法二获得的假emf更小的文件。
发布于 2010-12-05 18:58:44
你为什么不把这两幅画比较一下呢?在光栅编辑程序中打开它们并比较像素。
为什么你在乎这些文件有多大?当然,重要的是图像是否正确。
https://stackoverflow.com/questions/4358914
复制相似问题