主要内容

图像属性

形象外观和行为

图像属性控制外观和行为图像对象。通过更改属性值,可以修改图像的某些方面。使用点表示法查询和设置属性。

我=图像(兰德(20));C = im.CData;即时通讯。CDataMapping =“缩放”;

颜色和透明度

全部展开

图像颜色数据,以下列形式之一指定:

  • 向量或矩阵-这种格式定义了索引图像数据。每个元素为图像的一个像素定义一种颜色。元素映射到颜色映射中的颜色。的CDataMapping属性控制映射方法。

  • 这种格式使用RGB三联体值定义真彩色图像数据。每个RGB三元组为图像的一个像素定义一种颜色。RGB三元组是一个由三个元素组成的向量,它指定颜色的红色、绿色和蓝色组件的强度。3d数组的第一页包含红色组件,第二页包含绿色组件,第三页包含蓝色组件。由于图像使用真实的颜色,而不是彩色地图的颜色CDataMapping财产没有影响。

    • 如果CData的类型是,则为RGB三联体值(0 0 0)对应于黑色和(1 1 1)对应于白色。

    • 如果CData是整数类型,则图像使用全部数据范围来确定颜色。例如,如果CData的类型是uint8,然后(0 0 0)对应于黑色和(255 255 255)对应于白色。如果CData的类型是int8,然后(-128 -128 -128)对应于黑色和(127 127 127)对应于白色。

    • 如果CData的类型是逻辑,然后(0 0 0)对应于黑色和(1 1 1)对应于白色。

这张图显示了……的相对尺寸CData用于两种颜色的模型。

的行为元素未定义。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

颜色数据映射方法,指定为“直接”“缩放”.使用此属性控制颜色数据值的映射CDatacolormap。CData必须是定义索引颜色的向量或矩阵。如果。此属性无效CData是定义真实颜色的三维数组。

这些方法有以下效果:

  • “直接”-将这些值解释为当前颜色图的索引。小数部分的值固定为最接近的下整数。

    • 如果值是type,则为1或更少的映射到颜色映射中的第一种颜色。等于或大于颜色映射到颜色映射中的最后一种颜色的长度的值。

    • 如果值是typeuint8uint16uint32uint64int8int16int32,或int64,则为0或更少的映射到颜色映射中的第一种颜色。等于或大于colormap长度的值映射到colormap中的最后一种颜色(或达到类型的范围限制)。

    • 如果值是type逻辑,则为0的值映射到颜色映射中的第一个颜色1映射到颜色映射中的第二种颜色。

  • “缩放”—将值缩放到最小和最大颜色限制之间。的这一属性包含颜色限制。

透明度数据,以下列形式之一指定:

  • 标量-在整个图像中使用一致的透明度。

  • 大小相同的数组CData-为每个图像元素使用不同的透明度值。

AlphaDataMapping属性控制MATLAB®解释alpha数据透明度值。

例子:0.5

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

的解释AlphaData值,指定为以下值之一:

  • “没有”-将这些值解释为透明值。1或更大的值是完全不透明的,0或更小的值是完全透明的,0到1之间的值是半透明的。

  • “缩放”-将值映射到图形的alphamap中。坐标轴的最小和最大alpha限制分别决定映射到alphamap中第一个和最后一个元素的alpha数据值。例如,如果极限是[3 - 5],则alpha数据值小于或等于3.映射到alphamap中的第一个元素。数据值大于或等于5映射到alphamap中的最后一个元素。的阿利姆轴的属性包含极限。的Alphamap属性包含字母映射。

  • “直接”-将值解释为图的alphamap中的索引。小数部分的值固定为最接近的下整数:

    • 如果值是type,则1或更小的值映射到alphamap中的第一个元素。等于或大于到alphamap中最后一个元素的alphamap映射长度的值。

    • 如果值的类型为整型,则0或更小的值映射到alphamap中的第一个元素。等于或大于alphamap映射到该alphamap中最后一个元素的长度的值(或达到该类型的范围限制)。整数类型包括uint8uint16uint32uint64int8int16int32,int64

    • 如果值是type逻辑,则值0映射到alphamap中的第一个元素,值1映射到alphamap中的第二个元素。

插值方法,指定为“最近的”双线性的.MATLAB使用插值在屏幕上显示缩放或旋转的图像版本。选择的值不影响镜像阵列。然而,如果您保存图形或导出坐标轴的内容,MATLAB会保存图像的内插视觉表示。

根据你的图像内容和想要达到的效果选择一种插值方法:

  • “最近的”-当有少量像素值代表不同的类别时,或者当你想在高度放大的视图中看到单个像素时,这种方法是最好的。位于(xy)为最接近(xy)的原始图像。

  • 双线性的-这种方法在几乎所有其他情况下都是最好的。位于(xy)是原始图像中周围像素的加权平均值。为了最小化显示伪影,当您收缩图像时,将应用额外的平滑处理。如果您的MATLAB会话或图形正在使用painter渲染器,那么当图像收缩时就不会有额外的平滑。要确定呈现程序,请调用rendererinfo函数。

位置

全部展开

放置在x-axis,以下列形式之一指定:

  • 二元向量——使用第一个元素作为的中心位置CData (1, 1)而第二个元素作为中心的位置CData (m, n),在那里[m, n] =大小(CData).均匀地分配剩下的中心CData这两点之间的元素。

    每个像素的宽度由表达式决定:

    (XData (2) -XData(1) /(大小(CData, 2) 1)

    如果XData (1)>XData (2),然后图像左右翻转。

  • 标量-中心CData (1, 1)在这个位置和后面的每个元素分开一个单位。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

放置在y-axis,以下列形式之一指定:

  • 二元向量——使用第一个元素作为的中心位置CData (1, 1)而第二个元素作为中心的位置CData (m, n),在那里[m, n] =大小(CData).均匀地分配剩下的中心CData这两点之间的元素。

    每个像素的高度由表达式决定:

    (YData (2) -YData(1) /(大小(CData, 1) 1)

    如果YData (1)>YData (2),然后图像被上下翻转。

  • 标量-中心CData (1, 1)在这个位置和后面的每个元素分开一个单位。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

交互性

全部展开

可见性状态,指定为“上”“关闭”,或数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • “上”—显示对象。

  • “关闭”-隐藏对象而不删除它。您仍然可以访问不可见对象的属性。

数据提示内容,指定为DataTipTemplate对象。您可以通过修改底层的属性来控制出现在数据提示中的内容DataTipTemplate对象。有关属性列表,请参见DataTipTemplate属性

有关修改数据提示的示例,请参见创建自定义数据提示

此属性仅适用于带有固定数据提示的图像。

请注意

DataTipTemplate对象不返回findobjfindall,它不会被复制copyobj

上下文菜单,指定为快捷菜单对象。使用此属性可在右键单击对象时显示上下文菜单。控件创建上下文菜单uicontextmenu函数。

请注意

如果PickableParts属性设置为“没有”或者如果HitTest属性设置为“关闭”,则不会出现上下文菜单。

选择状态,指定为“上”“关闭”,或数字或逻辑1真正的)或0).的值“上”等于true,那么“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • “上”——选择。如果在绘图编辑模式下单击对象,则MATLAB将其设置为选择财产“上”.如果SelectionHighlight属性也设置为“上”,然后MATLAB显示对象周围的选择手柄。

  • “关闭”——而不是选择。

选择句柄时的显示,指定为“上”“关闭”,或数字或逻辑1真正的)或0).的值“上”等于true,那么“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • “上”-显示选择手柄时选择属性设置为“上”

  • “关闭”-永远不显示选择句柄,即使当选择属性设置为“上”

根据坐标轴限制裁剪对象,指定为“上”“关闭”,或数字或逻辑1真正的)或0).的值“上”等于true,那么“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • 的值“上”剪辑对象超出轴限制的部分。

  • 的值“关闭”显示整个对象,即使它的部分出现在轴的限制之外。如果你创建一个plot, set,对象的部分可能会出现在坐标轴限制之外抓住,冻结轴缩放,然后创建对象,使其比原来的plot更大。

剪裁属性的值必须设置为“上”.否则,此属性不起作用。有关剪切行为的更多信息,请参见剪裁轴的性质。

回调

全部展开

鼠标单击回调,指定为以下值之一:

  • 函数处理

  • 单元格数组,包含函数句柄和附加参数

  • 字符向量,这是一个有效的MATLAB命令或函数,在基本工作区中进行评估(不推荐)

在单击对象时使用此属性执行代码。如果使用函数句柄指定此属性,则MATLAB在执行回调函数时传递两个参数:

  • 点击对象-从回调函数中访问点击对象的属性。

  • 事件数据-空参数。将其替换为波浪字符(),以指示不使用此参数。

有关如何使用函数句柄来定义回调函数的更多信息,请参见回调函数定义

请注意

如果PickableParts属性设置为“没有”或者如果HitTest属性设置为“关闭”,则此回调不执行。

对象创建函数,指定为以下值之一:

  • 函数处理。

  • 单元格数组,其中第一个元素是函数句柄。cell数组中的后续元素是要传递给回调函数的参数。

  • 字符向量包含有效的MATLAB表达式(不推荐)。MATLAB在基本工作空间中计算这个表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见回调函数定义

此属性指定MATLAB创建对象时执行的回调函数。方法之前,MATLAB初始化所有属性值CreateFcn回调。如果不指定CreateFcn属性,然后MATLAB执行一个默认创建函数。

设置CreateFcn属性对现有组件没有影响。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在创建的对象。否则,使用gcbo函数访问对象。

对象删除函数,指定为以下值之一:

  • 函数处理。

  • 单元格数组,其中第一个元素是函数句柄。cell数组中的后续元素是要传递给回调函数的参数。

  • 字符向量包含有效的MATLAB表达式(不推荐)。MATLAB在基本工作空间中计算这个表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见回调函数定义

此属性指定当MATLAB删除对象时执行的回调函数。MATLAB执行DeleteFcn在销毁对象的属性之前回调。如果不指定DeleteFcn属性,然后MATLAB执行一个默认删除函数。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问要删除的对象。否则,使用gcbo函数访问对象。

回调执行控制

全部展开

回调中断,指定为“上”“关闭”,或数字或逻辑1真正的)或0).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

此属性确定是否可以中断正在运行的回调。有两种回调状态需要考虑:

  • 运行Callback是当前正在执行的回调。

  • 打断Callback是一个试图中断正在运行的回调的回调。

每当MATLAB调用回调时,该回调尝试中断正在运行的回调(如果存在的话)。的可中断属性决定是否允许中断。

  • 的值“上”允许其他回调来中断对象的回调。中断发生在MATLAB处理队列的下一个点,例如当有drawnow数字uifiguregetframe等待,或暂停命令。

    • 如果正在运行的回调函数包含其中一个命令,那么MATLAB将在此时停止回调函数的执行,并执行中断回调函数。当中断回调完成时,MATLAB继续执行正在运行的回调。

    • 如果正在运行的回调函数不包含这些命令之一,那么MATLAB将在不中断的情况下完成回调函数的执行。

  • 的值“关闭”阻止所有中断尝试。的BusyAction拥有中断回调的对象的属性决定中断回调是否被丢弃或放入队列中。

请注意

在这些情况下,回调中断和执行的行为是不同的:

  • 如果中断回调为DeleteFcnCloseRequestFcnSizeChangedFcn回调,则中断发生不管可中断属性值。

  • 如果正在运行的回调函数正在执行等待函数,则不管可中断属性值。

  • 计时器对象根据调度执行,而不管可中断属性值。

当中断发生时,MATLAB不保存属性或显示的状态。方法返回的对象gcagcf命令可能在执行另一个回调时更改。

回调排队,指定为“队列”“取消”.的BusyAction属性决定了MATLAB如何处理中断回调的执行。有两种回调状态需要考虑:

  • 运行Callback是当前正在执行的回调。

  • 打断Callback是一个试图中断正在运行的回调的回调。

当MATLAB调用回调时,回调试图中断正在运行的回调。的可中断属性决定是否允许中断。如果不允许中断,那么BusyAction拥有中断回调的对象的属性决定了它是被丢弃还是放入队列中。这些是可能的值BusyAction属性:

  • “队列”—将中断回调放入正在运行的回调执行完成后待处理的队列中。

  • “取消”—不执行中断回呼。

捕捉鼠标点击的能力,指定为以下值之一:

  • “可见”-捕获鼠标点击只有在可见时。的可见属性必须设置为“上”.的HitTest属性决定图像对象对单击作出响应,如果是祖先则响应。

  • “没有”-无法捕获鼠标点击。单击图像对象将单击传递给图形窗口当前视图中它后面的对象。的HitTest财产的图像对象没有效果。

对捕获的鼠标单击的响应,指定为“上”“关闭”,或数字或逻辑1真正的)或0).的值“上”等于true,那么“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • “上”——触发ButtonDownFcn回调的图像对象。如果你定义了快捷菜单属性,然后调用上下文菜单。

  • “关闭”对象的最近祖先触发回调图像对象,该对象包含以下内容之一:

    • HitTest属性设置为“上”

    • PickableParts属性设置为一个值,该值使祖先能够捕获鼠标单击

请注意

PickableParts属性决定图像对象可以捕获鼠标点击。如果不能,那么HitTest财产没有影响。

此属性是只读的。

删除状态,返回类型为开/关逻辑值matlab.lang.OnOffSwitchState

MATLAB设置BeingDeleted财产“上”DeleteFcn回调函数开始执行。的BeingDeleted属性仍然设置为“上”直到组件对象不再存在。

检查该值BeingDeleted属性来验证对象在查询或修改之前不会被删除。

父/子

全部展开

父,指定为集团,或变换对象。

儿女,归为空GraphicsPlaceholder数组或一个DataTip对象数组。使用此属性可查看绘制在图表上的数据提示列表。

属性添加或删除子节点孩子们财产。要将子列表添加到此列表,请设置财产的DataTip对象指向图表对象。

对象句柄的可见性孩子们属性,指定为以下值之一:

  • “上”-对象句柄总是可见的。

  • “关闭”对象句柄在任何时候都是不可见的。这个选项对于防止另一个函数的意外更改非常有用。设置HandleVisibility“关闭”在函数执行期间暂时隐藏句柄。

  • “回调”-对象句柄在回调或由回调调用的函数中可见,但在从命令行调用的函数中不可见。这个选项阻止对命令行对象的访问,但允许回调函数访问它。

属性中未列出的对象孩子们属性,则通过搜索对象层次结构或查询句柄属性获得对象句柄的函数不能返回它。此类函数的示例包括得到findobjgcagcfgconewplotclf,关闭功能。

隐藏对象句柄仍然有效。设置根ShowHiddenHandles财产“上”列出所有对象句柄,而不管它们的HandleVisibility属性设置。

标识符

全部展开

此属性是只读的。

图形对象的类型,返回为“图像”

对象标识符,指定为字符向量或字符串标量。你可以指定一个唯一的标签值作为对象的标识符。当您需要访问代码中的其他地方的对象时,可以使用findobj函数搜索对象标签价值。

用户数据,指定为任何MATLAB数组。例如,可以指定标量、向量、矩阵、单元格数组、字符数组、表或结构。使用此属性可在对象上存储任意数据。

如果你在应用程序设计器中工作,在应用程序中创建公共或私有属性来共享数据,而不是使用用户数据财产。有关更多信息,请参见在应用程序设计器应用程序中共享数据

兼容性的考虑

全部展开

不建议在R2020a开始

之前介绍过的R2006a