本文最后更新于 2023年9月25日。
matlab复制图形到剪贴板
https://ww2.mathworks.cn/help/matlab/ref/copygraphics.html
在matlab控制台执行下面命令
run('E:\test\savefig.m')
https://blog.csdn.net/weixin_42943114/article/details/86675872
https://ww2.mathworks.cn/help/matlab/ref/copygraphics.html
>> figHandles = findall(groot, 'Type', 'figure')
figHandles =
7×1 Figure array:
Figure (2: Left Front Side Near)
Figure (3: Right Front Side Fire)
Figure (4: Right Front Side Near)
Figure (9: ECU X1)
Figure (10: ECU X2)
Figure (13: ECU Y2)
Figure (12: ECU Y1)
>> imwrite('Figure(2: Left Front Side Near)','result.jpg')
Error using imwrite>parse_inputs (line 515)
The first argument should not be a character vector.
Error in imwrite (line 418)
[data, map, filename, format, paramPairs] = parse_inputs(varargin{:});
>> figHandles(1)
ans =
Figure (2: Left Front Side Near) with properties:
Number: 2
Name: 'Left Front Side Near'
Color: [0.9400 0.9400 0.9400]
Position: [2136 451 560 420]
Units: 'pixels'
Show all properties
>> figHandles(2)
ans =
Figure (3: Right Front Side Fire) with properties:
Number: 3
Name: 'Right Front Side Fire'
Color: [0.9400 0.9400 0.9400]
Position: [3104 511 560 418]
Units: 'pixels'
Show all properties
>> imwrite(figHandles(1),'result.jpg')
Error using imwrite (line 420)
Expected DATA to be one of these types:
numeric, logical
Instead its type was matlab.ui.Figure.
>> saveas(figHandles(1),'result.jpg')
>>
保存结果如图:
1、使用imwrite 函数
如图像是img,则可以使用imwrite(img,’result.jpg’); 这种方法保存图像大小和显示的大小是一样的。下面的方法得到的图像和原图像的大小不一样;下面是用该方法保存的图片
我们注意到,用imwrite保存的图片只有图片本身,没有其他内容。
2、直接另存为
在figure中使用菜单file->saveas->选择保存形式(可以保存为fig,eps,jpeg,gif,png,bmp等格式)。这个的缺点是另存为的图像清晰度有很大的牺牲。
3、复制粘贴
在figure中使用菜单edit->copyfigure,此时图像就复制到剪贴板了。要注意的是在“copy options”中要选择“Bitmap”。
4、用saveas命令
Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存。saveas的格式为:saveas(gca, filename, fileformat),其中的三个参数:
(1)gca:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄。
(2)filename:单引号字符串,指定文件名
(3)fileformat:单引号字符串,指定存储格式
例子:
复制
- saveas(gcf, ‘save.jpg’); %保存当前窗口的图像
- saveas( 2, ‘save.jpg’); %保存Figure 2窗口的图像
下面是用saveas的实验结果:
我们可以看到,saveas保存的结果,有白边,下面的print函数保存的结果同样也是有白边的。如果想将生成的图片用于后续的图像处理,建议使用imwrite函数,否则,用哪种保存函数都可以。
5、print函数
print函数操作打印机,使用plot函数后紧接着用print函数来保存图像。print的格式为: print(figure_handle,fileformat,filename),其中的三个参数:
(1)figure_handle:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄
(2)fileformat:单引号字符串,指定存储格式:
png格式: ‘-dpng’
jpeg格式: ‘-djpeg’,
tiff格式: ‘-dtiff’
bmp格式: ‘-dbitmap’
gif格式:’-dgif’
emf无损格式:’-dmeta’
(3)filename:文件名