当前位置:服务支持 >  技术文档 >  MATLAB自动生成Word报告(二):图片操作指南‌

MATLAB自动生成Word报告(二):图片操作指南‌

阅读数 103
点赞 82
article_banner

上期介绍了MATLAB调用Word的基本操作,这期主要介绍如何使用MATLAB将图片插入到Word中,并进行相关的设置

现有的很多教程介绍的都是通过复制粘贴将图片插入Word中的,这种方法比较难实现对图片的控制,比如缩放大小等。在这用的是InlineShaps对象进行图像操作,基本语法如下

ActiveDoc.InlineShapes.AddPicture( _FileName_ , _LinkToFile_ , _SaveWithDocument_ , _Range_ )

官网提供的说明如下

图1 InlineShape.AddPicture方法文档

一般来说,我们只需要给出FileName的参数即可,别可以用默认参数。执行后,该方法会自动将图片插到光标位置,并返回该图像的句柄,我们可以通过下面的语句完成图像插入的操作

Selection.Start = Content.end;
Selection.TypeParagraph;
Paragraphformat.Alignment = 'wdAlignParagraphCenter';
Filename = [pwd '\matlab.jpg'];   %文件路径+文件名
Fig = ActiveDoc.InlineShapes.AddPicture(Filename);   %插入图片

执行的效果如下

图2 插入了过大的图片

这样一来图片就成功插进Word文档了,但这里显然有个问题,就是图片过大,页面放不下了。因此我们需要对图片尺寸进行调整,这时候上面提到的句柄就能发挥作用了(图片操作可见官方文档中的InlineShape对象属性)

这里给出了两种缩放的方法,一种是比例缩放,一种是按大小进行缩放

%缩放指定的嵌入式图形相对于原始大小的比例
Fig.ScaleHeight = 40;   %高度缩放比例
Fig.ScaleWidth = 40;    %宽度缩放比例

%设置指定内联形状的尺寸
Fig.Width = 14.65 * 28.35;      %缩放后宽度(磅)
Fig.Height = 6 * 28.35;         %缩放后高度(磅)

这里采取了第二种方法,运行后图形已经成为了我们想要的尺寸

图3 缩放后的图形

当然,仅仅调整图片的的大小肯定还是不够的,有时也会涉及到图形的裁剪,可以用下面的方式实现(下面命令默认从右侧和下侧开始裁剪)

Fig.PictureFormat.Crop.ShapeHeight = 100;    %将裁剪高度设置为 100 磅
Fig.PictureFormat.Crop.ShapeWidth = 100;     %将裁剪高度设置为 100

也可以用下列命令指定裁剪方向

Fig.PictureFormat.CropLeft = 100;    %设置从指定图片或 OLE 对象的左侧裁剪下的磅值
Fig.PictureFormat.CropRight = 100;   %右侧
Fig.PictureFormat.CropTop = 100;     %顶部
Fig.PictureFormat.CropBottom = 100;  %底部

裁剪的效果如下

图4 裁剪后的图形

图形的颜色类型、对比度、亮度可以这样设置

Fig.PictureFormat.ColorType = 'msoPictureGrayscale';    %图形设置为灰度显示
Fig.PictureFormat.Contrast = 0.8;       %设置对比度
Fig.PictureFormat.Brightness = 0.3;     %设置亮度

可以发现,对于图形的操作都在PictureFormat对象中,上面给出的只是其功能的很小一部分,详细的功能可以在官方文档的PictueFormat对象中找到

本期主要介绍了如何用MATLAB操作Word中的图片,主要包括图片的插入方法,尺寸调整以及图片对比度等参数的设置方法 ,下一期将着重讲解表格的操作

相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空