主要内容

图像属性

图像的外观和行为

图像属性控制的外观和行为图像对象。通过改变属性值,您可以修改图像的某些方面。使用点符号来查询和设置属性。

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

图像数据和质量

全部展开

中指定的图像颜色数据,这些形式之一:

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

  • 三维数组的RGB三胞胎,这种格式使用RGB值定义了真彩色图像数据值。每一个RGB值定义了图像的一个像素的颜色。一个RGB值是三元素向量指定强度的红色,绿色和蓝色的组件的颜色。三维数组的第一页包含红色的组件,包含绿色组件第二页,第三页包含蓝色组件。由于图像使用真正的颜色,而不是colormap颜色,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是一个三维数组定义真正的颜色。

的方法有这些效果:

  • “直接”——当前colormap值作为指标解释到。是固定值和小数部分低到最近的整数。

    • 如果类型的值的,那么值1或少colormap映射到第一个颜色。值的长度等于或大于colormap colormap映射到最后的颜色。

    • 如果类型的值uint8,uint16,uint32,uint64,int8,int16,int32,或int64的,那么值0或少colormap映射到第一个颜色。值的长度等于或大于colormap映射到最后一个颜色colormap(或类型)的范围限制。

    • 如果类型的值逻辑的,那么值0映射到第一个颜色的colormap和价值观1colormap映射到第二个颜色。

  • “缩放”——规模范围最小值和最大值之间的颜色值限制。的这一轴的属性包含的颜色限制。

透明数据,指定其中的一个形式:

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

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

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

例子:0.5

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

的解释AlphaData指定的值,这些值之一:

  • “没有”——解读作为透明度值的值。值为1或更大的是完全不透明的,值为0或更少是完全透明的,和一个值在0和1之间是半透明的。

  • “缩放”- - - - - -值映射到图的alphamap。最小和最大α的极限轴确定α数据值映射到alphamap,第一个和最后一个元素。例如,如果α限制[3 - 5],然后α数据值小于或等于3alphamap映射到第一个元素。α数据值大于或等于5alphamap映射到最后一个元素。的阿利姆轴的属性包含α的限制。的Alphamap图包含alphamap的属性。

  • “直接”——解释值指数图的alphamap。是固定值和小数部分低到最近的整数:

    • 如果类型的值,那么值1或少alphamap映射到第一个元素。值的长度等于或大于alphamap alphamap映射到最后一个元素。

    • 如果整数类型的值,值为0或更少alphamap映射到第一个元素。值的长度等于或大于alphamap中的alphamap映射到最后一个元素(或类型)的范围限制。整数类型uint8,uint16,uint32,uint64,int8,int16,int32,int64

    • 如果类型的值逻辑,那么0的值映射到alphamap和值的第一个元素1映射到alphamap中的第二个元素。

插值方法,指定为“最近的”双线性的。MATLAB使用插值来显示缩放或旋转版本的图像在屏幕上。您选择的值不会影响图像数组。然而,MATLAB救了插值图像的可视化表示如果你保存图或导出轴的内容。

选择一个基于你的图像插值方法内容和你想要达到的影响:

  • “最近的”——这个方法最好是有少量的像素值代表不同的类别,或者当你想看到每个像素在一个高度放大视图。一个像素的值位于(x,y)是最近的像素的值(x,y在原始图像)。

  • 双线性的——在几乎所有其他情况下这种方法是最好的。一个像素的值位于(x,y)是一个加权平均周围像素的原始图像。最小化显示工件,额外的平滑缩小图像时应用。如果你的图是使用MATLAB会话或画家渲染器,那么就没有额外的平滑图像收缩。确定渲染器,调用rendererinfo函数。

自从R2022b

最大分辨率呈现,指定为“没有”或者一个正整数的值。使用这个属性来控制最大分辨率MATLAB用于显示图像的大尺寸。较小的尺寸调整保持长宽比。您所指定的值影响屏幕显示,但它并不影响图像数据,存储在CData图像的属性。

指定“没有”显示完整的分辨率的图像。指定一个数量限制显示的图像的大小。大量(和“没有”)提供更高质量的图像,但最初的图片可能需要更长的时间来渲染。较小的数字提供downsampled图片,但是他们的渲染速度。

一般来说,图像的渲染速度当你指定一个值小于最大的图像尺寸的原始图像。然而,如果你指定一个值,只有一个或几个像素更小,最初呈现的图像可能需要更长的时间比呈现完整的决议。

例如:显示Downsampled形象

peppers.png,这是一个384 -,- 512 RGB图像。然后调用显示亮度图像函数来显示图像使用128像素大的维度。小维尺度到96像素保持原来的宽高比。

imdata = imread (“peppers.png”);显示亮度图像(imdata“MaxRenderedResolution”,128)

peppers.pngdisplayed at a resolution of 96-by-128 pixels

位置

全部展开

放置在x设在,指定其中的一个形式:

  • 双元素向量,使用第一个元素为中心的位置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设在,指定其中的一个形式:

  • 双元素向量,使用第一个元素为中心的位置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()。的值“上”相当于真的,“关闭”相当于。因此,您可以使用这个属性的值作为一个逻辑值。存储的值是作为一个开/关逻辑值的类型matlab.lang.OnOffSwitchState

  • “上”——选择。如果单击对象在策划编辑模式,然后用MATLAB设置它选择财产“上”。如果SelectionHighlight财产也被设置为“上”,然后用MATLAB显示选择对象处理。

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

显示选择处理的选择,指定为“上”“关闭”或数字或逻辑1(真正的)或0()。的值“上”相当于真的,“关闭”相当于。因此,您可以使用这个属性的值作为一个逻辑值。存储的值是作为一个开/关逻辑值的类型matlab.lang.OnOffSwitchState

  • “上”——显示选择处理时选择属性设置为“上”

  • “关闭”——从不显示选择处理,即使选择属性设置为“上”

对象的剪裁坐标轴范围,指定为“上”“关闭”或数字或逻辑1(真正的)或0()。的值“上”相当于真的,“关闭”相当于。因此,您可以使用这个属性的值作为一个逻辑值。存储的值是作为一个开/关逻辑值的类型matlab.lang.OnOffSwitchState

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

  • 的值“关闭”显示整个对象,即使部分出现在轴的极限。部分对象可能出现轴外限制如果您创建了一个情节,设置抓住冻结轴缩放,然后创建对象,比原来的大阴谋。

剪裁轴包含对象的属性必须设置“上”。否则,这个属性没有影响。关于剪切行为的更多信息,请参阅剪裁财产的轴。

回调

全部展开

鼠标单击回调,指定这些值之一:

  • 函数处理

  • 单元阵列包含一个函数句柄和附加参数

  • 特征向量是一个有效的MATLAB命令或函数,这是评价的基础工作空间(不推荐)

使用这个属性来执行代码当你点击对象。如果你使用一个函数处理指定这个属性,然后用MATLAB将两个参数传递给回调函数在执行回调:

  • 点击点击对象的对象——访问属性的回调函数。

  • 事件数据——空参数。代之以波浪号字符(~)函数定义,表明这种观点是不习惯。

为更多的信息关于如何使用函数定义回调函数,处理为图形对象创建回调

请注意

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

对象创建函数,指定这些值之一:

  • 函数处理。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 特征向量包含一个有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理,细胞数组,或字符向量,明白了为图形对象创建回调

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

设置CreateFcn属性在一个现有的组件没有影响。

如果指定这个属性作为处理函数或细胞数组,您可以访问的对象被创建使用回调函数的第一个参数。否则,使用gcbo函数来访问该对象。

对象删除函数,指定这些值之一:

  • 函数处理。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 特征向量包含一个有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理,细胞数组,或字符向量,明白了为图形对象创建回调

这个属性指定一个回调函数执行时MATLAB删除对象。MATLAB执行DeleteFcn回调之前破坏对象的属性。如果你不指定DeleteFcn属性,然后MATLAB默认执行删除功能。

如果指定这个属性作为处理函数或细胞数组,您可以访问的对象被删除使用回调函数的第一个参数。否则,使用gcbo函数来访问该对象。

回调执行控制

全部展开

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

这个属性决定了如果一个回调可以运行中断。有两种回调状态考虑:

  • 运行回调是当前执行的回调。

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

MATLAB决定调中断行为每当它执行一个命令队列处理回调。这些命令包括drawnow,,uifigure,getframe,等待,暂停

如果调不包含运行这些命令,然后没有中断发生。MATLAB首先完成执行运行回调,后来执行中断的回调。

如果跑回调也包含其中的一个命令,然后可中断对象的属性拥有运行调决定如果中断发生时:

  • 如果该值的可中断“关闭”,然后没有中断发生。相反,BusyAction对象的属性拥有打断调决定如果打断回调被丢弃或添加到队列的回调。

  • 如果该值的可中断“上”,然后中断发生。下次MATLAB处理回调队列,它停止运行的执行回调并执行中断的回调。打断调完成后,MATLAB简历执行回调。

请注意

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

  • 如果中断的回调DeleteFcn,CloseRequestFcn,或SizeChangedFcn回调,那么无论发生中断可中断属性值。

  • 如果运行目前执行的回调等待函数,那么无论发生中断可中断属性值。

  • 如果回调是由一个中断计时器对象,然后根据时间表不管回调执行可中断属性值。

请注意

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

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

  • 运行回调是当前执行的回调。

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

BusyAction属性决定了回调排队行为只有满足这两个条件:

在这种情况下,BusyAction对象的属性拥有打断调决定MATLAB如何处理中断的回调。这些都是可能的值的BusyAction属性:

  • “队列”——将中断处理回调在一个队列跑回调结束后执行。

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

能够捕获鼠标点击,指定这些值之一:

  • “可见”——捕获鼠标点击时才可见。的可见属性必须设置为“上”。的HitTest属性决定了如果图像对象响应单击或者一个祖先。

  • “没有”——不能捕获鼠标点击。单击图像对象通过点击它背后的对象在当前视图的图窗口。的HitTest财产的图像对象没有影响。

应对捕获鼠标点击,指定为“上”“关闭”或数字或逻辑1(真正的)或0()。的值“上”相当于真的,“关闭”相当于。因此,您可以使用这个属性的值作为一个逻辑值。存储的值是作为一个开/关逻辑值的类型matlab.lang.OnOffSwitchState

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

  • “关闭”——触发回调的最近的祖先图像其中一个的对象:

    • HitTest属性设置为“上”

    • PickableParts属性设置为一个值,使祖先来捕获鼠标点击

请注意

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

这个属性是只读的。

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

MATLAB设置BeingDeleted财产“上”DeleteFcn回调函数开始执行。的BeingDeleted房地产仍将“上”直到组件对象已不复存在。

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

父/子

全部展开

家长,指定为一个,集团,或变换对象。

孩子,作为一个空返回GraphicsPlaceholder数组或一个DataTip对象数组。使用这个属性来查看数据提示列表绘制图表。

你不能添加或删除儿童使用孩子们财产。添加一个孩子这个列表,设置财产的DataTip对象图对象。

可见性的对象处理孩子们的家长,指定这些值之一:

  • “上”——对象处理总是可见的。

  • “关闭”——对象句柄是无形的。这个选项是有用的防止意外更改另一个函数。设置HandleVisibility“关闭”暂时隐藏处理在这个函数的执行。

  • “回调”——对象句柄是可见的在回调函数或函数调用回调,但不是在从命令行调用的函数。这个选项块访问对象在命令行,但允许回调函数来访问它。

如果对象不是中列出孩子们父母的财产,那么函数获取对象处理对象层次结构或通过搜索查询处理属性不能返回它。这些功能的示例包括得到,findobj,gca,gcf,gco,newplot,,clf,关闭功能。

隐藏对象处理仍然有效。设置根ShowHiddenHandles财产“上”列出所有对象处理不管他们的HandleVisibility属性设置。

标识符

全部展开

这个属性是只读的。

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

对象标识符指定为一个特征向量或字符串标量。您可以指定一个唯一的标签价值作为一个对象的标识符。当你需要访问对象在您的代码,您可以使用findobj基于函数搜索对象标签价值。

用户数据,指定为任何MATLAB数组。例如,您可以指定一个标量、向量,矩阵,单元阵列,字符数组,表,或者结构。使用这个属性来存储任意数据对象。

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

版本历史

之前介绍过的R2006a

全部展开