liushuangq05 发表于 2013-1-27 22:57:56

matlab保存图片不完整的解决方案(求助)


(1),(2),(3)
以上3个图片,我分别用了prtsc(键盘抓图),printf(saveas),imwrite等方式进行保存,发现后面几种都出现保存失真的情况.而直接用键盘则分辨率太低不合适.因此想问问大家,可有什么更好的底层程序来抓图保存?是不是capturescreen有一些特定参数?
我的图片有uicontrol按钮150个左右.
谢谢各位了!

taohe 发表于 2013-1-28 00:59:49

你是想把matlab的GUI界面保存为图形文件吗?有没有试过print命?它应该能够把选中的matlab图形窗口(Figure)保存为制定的图形格式,包括各种用户界面控件。

zccbest 发表于 2013-1-28 07:18:51

我用的是getframe

liushuangq05 发表于 2013-1-29 09:47:30

getframe,print都试过,有出现"变形"和"不能抓出图片的所有信息,比如uicontrol的文字空缺"的现象.不知道调用java来抓图效果如何?

liushuangq05 发表于 2013-1-29 11:05:19

我用getframe,imwrite(h.cdata)的方式,还是不行,觉得是getframe抓图不完全所导致.

liushuangq05 发表于 2013-1-29 14:03:27

用了网上的java.robot类例子,编写了个capture_fig.m子程序
function capture_fig

robo = java.awt.Robot;
boxt= java.awt.Toolkit.getDefaultToolkit();
rectangle = java.awt.Rectangle(boxt.getScreenSize());
sizescr=get(rectangle,'bounds');

set(rectangle,'bounds',);

%set(rectangle,'bounds',);
image = robo.createScreenCapture(rectangle);
filehandle = java.io.File('CurrentFig.png');
javax.imageio.ImageIO.write(image,'png',filehandle);
disp('当前图像已保存到程序根目录下。');

可以像prtsc一样抓图了,就是分辨率不高!
页: [1]
查看完整版本: matlab保存图片不完整的解决方案(求助)