的getFrame

捕获轴或数字作为动画帧

描述

F=的getFrame捕获当前轴线因为它出现在屏幕上,作为动画帧上。F是包含图像数据的结构。的getFrame捕捉轴在它出现在屏幕上的大小相同。它不会捕捉刻度标记或轴轮廓外的其他内容。

F=的getFrame(斧头捕获由所标识的轴斧头而不是当前轴。

F=的getFrame(捕捉查明的身影。指定一个数字,如果你想捕捉人物窗口的整个内饰,包括坐标轴标题,标签和刻度线。所拍摄的电影帧不包括图形菜单和工具栏。

F=的getFrame(___矩形捕获由所定义的矩形之内的区域矩形。指定矩形作为以下形式的四元素矢量[左底部宽度高度]。使用此选项与任斧头要么输入参数在前面的语法。

例子

全部收缩

创建随机数据的曲线图。捕捉轴和返回的图像数据。的getFrame捕获轴的内部和轴轮廓。它并没有反映出超出轴轮廓的内容。

情节(RAND(5))F =的getFrame;

F是与场的结构CDATA包含所拍摄的图像数据。

使用显示所捕获的图像数据imshow

图imshow(F.cdata)

创建曲面图。捕捉人物窗口的内部,不包括菜单和工具栏。

冲浪(峰)F =的getFrame(GCF);

F是与场的结构CDATA包含所拍摄的图像数据。

使用显示所捕获的图像数据imshow

图imshow(F.cdata)

捕捉轴的内部加的在每个方向上30个像素的余量。所添加的余量是必要包括在捕捉帧中的刻度标记。根据刻度标记的大小,保证金可能需要进行调整。

创建随机数据的曲线图。

情节(RAND(5))

轴单位更改为像素,并返回当前坐标位置。的位置矢量的第三和第四元素指定以像素为单位的宽度轴和高度。

的DrawNow AX = GCA;ax.Units ='像素';POS = ax.Position
POS = 73.8000 47.2000 434.0000 342.3000

创建一个四元素矢量,矩形中,定义覆盖所述轴加所需的余量的矩形区域。的前两个元素矩形指定相对于轴的左下角的矩形的左下角。的最后两个元素矩形指定矩形的宽度和高度。复位轴单位的默认值“规范化”

玛格= 30;RECT = [-marg,-marg,POS(3)+ 2 *玛格,POS(4)+ 2 *玛格];F =的getFrame(GCA,RECT);ax.Units =“规范化”;

使用显示所捕获的图像数据imshow

图imshow(F.cdata)

计算轴周围的余量,使得所捕获的图像数据包括标题,轴标签,和刻度标记。

创建一个标题和一个阴谋X轴标签。

情节(RAND(5))xlabel(“x值”)标题(“绘制随机数据的”

轴单位更改为像素和存储位置TightInset对于轴的属性值。该TighInset属性是以下形式的四元素矢量[左右下角顶部]。该值是用于绕轴的刻度值和文本标签的边缘。

的DrawNow AX = GCA;ax.Units ='像素';POS = ax.Position;TI = ax.TightInset;

创建一个四元素矢量,矩形中,定义覆盖所述轴加自动计算的余量的矩形区域。的前两个元素矩形指定相对于轴的左下角的矩形的左下角。的最后两个元素矩形指定矩形的宽度和高度。

RECT = [-ti(1),-ti(2),POS(3)+ TI(1)+ TI(3),POS(4)+ TI(2)+ TI(4)];F =的getFrame(AX,RECT);

使用显示所捕获的图像数据imshow

图imshow(F.cdata)

在R2019b开始,您可以显示使用地块的平铺tiledlayoutnexttile功能。调用tiledlayout函数创建一个2×1平铺图表布局。调用nexttile函数来创建对象轴AX1AX2。绘制在各轴的线。

tiledlayout(2,1)AX1 = nexttile;图(1:10,'B')AX2 = nexttile;图(1:10,'R'

捕获所述下轴的内容。的getFrame捕获的情节内部和边界。它不会捕获蜱延伸超出阴谋的轮廓值或标签。

F =的getFrame(AX2);

使用显示所捕获的图像数据imshow

图imshow(F.cdata)

的记录帧功能使用振动的getFrame在一个循环。预分配一个数组来存储电影帧。

Z =峰值;冲浪(Z)轴手册AX = GCA;ax.NextPlot ='replaceChildren';环路= 40;F(循环)=结构('CDATA',[]“颜色表”,[]);对于J = 1:环X = SIN(j * PI / 10)* Z;冲浪(X,Z)的DrawNow F(j)的=的getFrame(GCF);结束

播放电影的两倍。

无花果=图。电影(图,F,2)

输入参数

全部收缩

轴来捕捉,指定为对象或GeographicAxes宾语。如果你想捕捉的轴线不是当前坐标使用此选项。

的getFrame捕获包围轴轮廓的最小矩形内的内容。如果你想捕获所有的刻度值和标签,然后使用输入参数来代替。

例:F =的getFrame(AX);

图来捕获,指定为图形对象。采用GCF捕获当前的身影。

例:F =的getFrame(GCF);

矩形区域捕获,指定为以下形式的四元素矢量[左底部宽度高度]像素。该剩下底部元素定义矩形的左下角的位置。所述位置是相对于被指定为第一输入参数图或轴的getFrame。该宽度高度元素定义了矩形的尺寸。

指定完全包含图形窗口内的矩形。

例:F =的getFrame(GCF,[0 0 560 420]);

输出参数

全部收缩

动画帧时,返回作为具有两个字段的结构:

  • CDATA- 图像数据存储为阵列UINT8值。图像数据数组的大小取决于您的屏幕分辨率。

  • 色彩表- 颜色表。在真彩色系统,此字段为空。

注意

这是关于大小一些重要的考虑因素CDATA

  • 如果查询该区域的大小的getFrame捕获(或者图中,轴,或通过指定的区域矩形),大小在像素可能不匹配的元素个数CDATA。这种差异是因为元素的数量CDATA取决于你的屏幕分辨率(和操作系统设置),但在MATLAB像素®可能不符合您的屏幕上的实际像素。

  • 开始在R2015b,如果您使用的是高分辨率的系统,那么大小CDATA可能比以前的版本或其他系统上的大。

更多关于

全部收缩

像素

在像素的距离是独立的Windows系统的分辨率®苹果系统:

  • 在Windows系统中,像素是一英寸的1 /第96。

  • 苹果系统中,一个像素是一英寸的1/72。

在Linux®系统,像素的大小是由您的系统分辨率决定。

提示

  • 对于最快的性能时使用的getFrame,确保该数字在屏幕上可见。如果这个数字是不可见的,的getFrame仍然可以捕捉到身影,但性能可能会慢一些。

  • 对于在图像数据的分辨率更多的控制,使用打印函数。该CDATA与打印输出参数返回的图像数据。该解析度输入参数控制图像的分辨率。

R2006a前推出