1

如何将绘图图像捕获到内存中?我正在尝试使用getframe,但失败了

>> plot(h)
>> myhandle=plot(h)

myhandle =

  174.0044

>> myframe=getframe(myhandle)
Error using graph2d.lineseries/get
The name 'Units' is not an accessible property for an instance of class 'lineseries'.

Error in getframe>Local_getRectanglesOfInterest (line 138)
  if ~strcmpi(get(h, 'Units'), 'Pixels')

Error in getframe (line 56)
  [offsetRect, absoluteRect, figPos, figOuterPos] = ...
4

1 回答 1

1

从这里找到的 MATLAB 文档:http: //www.mathworks.com/help/matlab/ref/getframe.html

F = getframe(h) gets a frame from the figure or axes identified by handle h.

当我做handle=plot(......),然后输入get(handle),看类型,你会发现它确实是一个线系列对象,而不是一个轴或图形。

做你想做的事,使用getframe(gca)or getframe(gcf)。gca/gcf = getCurrentAxes/Figure 分别。

不过老实说,除非您正在做一个半复杂的 GUI 或类似的东西,否则 getframe 通常不需要任何输入参数。

于 2013-06-24T19:30:47.247 回答