Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

uiimage

创建图像组件

说明

im = uiimage 在新图窗中创建一个图像组件并返回 Image 对象。MATLAB® 调用 uifigure 函数来创建新图窗。使用 uiimage 在您的 App 中显示图片、图标或徽标。

im = uiimage(Name,Value) 使用一个或多个名称-值对组参数指定 Image 属性值。

示例

im = uiimage(parent) 在指定的父容器中创建一个图像组件。父容器可以是使用 uifigure 函数创建的图窗或其子容器之一。

示例

im = uiimage(parent,Name,Value) 指定父容器和一个或多个属性值。

示例

全部折叠

在图窗中创建一个图像组件。将显示默认图像。

fig = uifigure;
im = uiimage(fig);

现在,向图像组件添加一个图片。

im.ImageSource = 'peppers.png';

使用图像的实际大小创建一个显示动画 GIF 的图像组件。

fig = uifigure;
im = uiimage(fig,'ImageSource','questions.gif');
im.ScaleMethod = 'none';

现在,缩放图像,使其适应默认组件区域,保持纵横比而不进行裁剪。然后,应用黑色背景以创建宽银幕式外观(图像上方和下方具有黑色条形)。

im.ScaleMethod = 'scaledown';
im.BackgroundColor = 'black';

创建一个图像和一个回调,在点击该图像时会执行该回调。在本例中,图像会打开 MathWorks® 网站。

此程序文件名为 imagetoURL.m,它向您说明如何:

  • 使用 ImageClickedFcn 回调创建图像组件。

  • 使用回调中的 web 函数在系统浏览器中打开外部 URL。

  • 创建一个工具提示,当您将鼠标悬停在图像上时出现该工具提示。

运行程序文件时,点击该图像可打开 MathWorks® 网站。

function imagetoURL
fig = uifigure('Visible','off');
fig.Position(3:4) = [333 239];

im = uiimage(fig);
im.Position = [20 120 100 100];
im.ImageSource = 'membrane.png';
im.ImageClickedFcn = @ImageClicked;
im.Tooltip = 'Go to www.mathworks.com';

    function ImageClicked(src,event)
        url = 'https://www.mathworks.com/';
        web(url);
    end

fig.Visible = 'on';
end

输入参数

全部折叠

父容器,指定为使用 uifigure 函数创建的 Figure 对象或其子容器之一:TabPanelButtonGroupGridLayout。如果不指定父容器,MATLAB 会调用 uifigure 函数创建新 Figure 对象充当父容器。

名称-值对组参数

指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。

示例: im = uiimage('ScaleMethod','none')

注意

此处所列的属性只是一部分。有关完整列表,请参阅 Image 属性

图像源或文件,指定为文件路径或 m×n×3 真彩色图像数组。支持的图像格式包括 JPEG、PNG、GIF、SVG 或 m×n×3 真彩色图像数组。

有关真彩色图像数组的详细信息,请参阅图像类型

示例: im = uiimage('ImageSource','peppers.png');

示例: im.ImageSource = 'C:\TEMP\ngc6543a.jpg';

图像缩放方法,指定为下表中列出的值之一。使用此名称-值对组参数指定图像在组件区域内的呈现方式。

该表使用示例图像演示了每种缩放方法。在呈现图像示例中,图像组件的 BackgroundColor 属性已设置为 'magenta'。SVG 图像文件的缩放行为可能会根据文件的定义而有所不同。

说明示例放大缩小保持纵横比裁剪图像
原始图像呈现图像
'fit'在任意方向缩放以在组件区域内显示图像,并保持纵横比而不进行裁剪。

'fill'在任意方向缩放以填充组件区域,保持纵横比并在必要时进行裁剪。

'none'使用图像的实际大小并保持纵横比。如果组件区域小于图像,图像将被裁剪。

'scaledown'

缩小并保持纵横比而不裁剪。


如果原始图像大于组件区域,则图像缩小,呈现效果与 ScaleMethod 设置为 'fit' 一样。如果原始图像小于组件区域,则图像不缩小,呈现效果与 ScaleMethod 设置为 'none' 一样。

'scaleup'

放大并保持纵横比而不进行裁剪。


如果原始图像小于组件区域,则图像放大,呈现效果与 ScaleMethod 设置为 'fit' 一样。如果原始图像大于组件区域,则图像不放大,呈现效果与 ScaleMethod 设置为 'none' 一样。

'stretch'在任意方向缩放以填充组件区域,不保持纵横比,也不进行裁剪。

点击图像后执行的回调,指定为下列值之一:

  • 函数句柄。

  • 第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。

  • 包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。

当用户点击 App 中的图像时,将执行此回调。

此回调函数可以访问有关用户与图像的交互的特定信息。MATLAB 将 ImageClickedData 对象中的此信息作为第二个参数传递给回调函数。在 App 设计工具中,该参数名为 event。您可以使用圆点表示法查询对象属性。例如,event.Source 返回用户正在与之交互的 Image 对象以触发回调。ImageClickedData 对象不可用于指定为字符向量的回调函数。

下表列出了 ImageClickedData 对象的属性。

属性
EventName'ImageClicked'
Source执行回调的组件

有关编写回调的详细信息,请参阅在 App 设计工具中编写回调

图像组件相对于父组件的位置和大小,指定为 [left bottom width height] 形式的四元素向量。此表介绍该向量中的每个元素。

元素说明
left父容器的内部左边缘与图像组件的外部左边缘之间的距离
bottom父容器的内部下边缘与图像组件的外部下边缘之间的距离
width图像组件的左右外部边缘之间的距离
height图像组件的上下外部边缘之间的距离

Position 值相对于父容器的可绘制区域。可绘制区域是指容器边框内的区域,不包括装饰元素(如菜单栏或标题)所占的区域。

所有测量值都以像素为单位。

提示

  • 如需图像分析和处理,请参阅图形函数 imageimshow

另请参阅

函数

属性

在 R2019a 中推出