声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3349|回复: 0

Figure图形导出为jpg图片的字体问题

[复制链接]
发表于 2006-4-1 08:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P>Figure窗口中的图形导出成jpg格式的图片时,所有的字号都会变大,而且坐标刻度值在有些情况下会改变。我想得到与屏幕上显示完全相同的jpg图形,但又不想用尺寸比较大的bmp. <BR>另:用print生成24位色的bmp时字体也会变大,用saveas生成的bmp不会变大,但只能保存成256色,会丢失颜色。 <BR>下面详细说明一下我的要求与解决方法。 <BR>由于所绘制的图形用到了colorbar,所以颜色比较多。 <BR><BR>1.保存成图片后要求颜色尽量不失真 <BR>2.图片要小 <BR>3.格式比较常见 <BR>4.方法要能够进行批量处理 <BR><BR>暂以bmp,jpg,gif三种常见格式的图片结合matlab导出图片的方法进行说明: <BR><BR>1.saveas 能生成bmp,jpg图形 <BR>此法生成的bmp只能为256色造成色彩失真。 <BR>jpg可以为24位色,但会造成字体显示或坐标显示与屏幕显示不符,字体变大。 <BR><BR>2.print 能生成bmp,jpg图形 <BR>此法生成的bmp可以为24位色,但和jpg一样都会产生字体和坐标显示与屏幕显示的不符,而且bmp文件比较大。 <BR><BR>3.菜单Edit-&gt;Copy Figure拷贝至剪贴版-&gt;保存-&gt;转换为jpg或gif格式 <BR><BR>该方法能生成24位色的与屏幕显示效果完全相同的bmp,再由第三方软件转化为jpg或gif格式解决文件大小问题。 <BR><BR>转化问题: <BR>     (1) jpg格式是有损压缩,在转化后图像质量有所损失。 <BR>     (2) gif格式是无损压缩,但只支持256色。用一般的格式转换工具将24位色bmp转换为gif格式时会出现色彩失真,该图形中虽colorbar,但所使用到的颜色种类没有超过256种,所以用Acdsee等专业的转换工具转换后其效果与bmp基本完全一样,效果比jpg好的多,而且文件也比jpg的要小。 <BR><BR>批量处理问题: <BR>     (1) Edit -&gt; Copy Figure ,经研究得出Copy Figure菜单的回调函数是 <BR>     uimenufcn(gcbf,'EditCopyFigure'); <BR>我们把gcbf换成gcf即可实现点击当前figure菜单Edit -&gt; Copy Figure 相同的功能,把图片拷贝到剪贴版中。 <BR>     (2) 从剪贴版获取图片并保存为bmp,此项操作有VB来完成。在VB中获取图片并保存的代码如下: <BR>     picBitmap = ClipBoard.GetData(vbCFBitmap) <BR>      savepicture picBitmap.picture,"test.bmp" <BR>其中picBitmap为picture控件,将程序编译为exe,在matlab里用system调用 <BR>     (3)由于没有找到将24位色bmp转换为gif的较好的模块,在生成所有bmp后,用Acdsee批量转换。 <BR><BR>用此方法生成了1700多幅gif图片,相应的bmp图片为2.4GB,gif图片仅为40MB左右,而且效果与bmp基本完全一样,肉眼难以辨别。</P>
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 09:53 , Processed in 0.053784 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表