uiimage
创建图像组件
说明
示例
显示图片
在图窗中创建一个图像组件。将显示默认图像。
fig = uifigure; im = uiimage(fig);
现在,向图像组件添加一个图片。
im.ImageSource = "peppers.png";
以宽银幕形式显示动画 GIF
使用图像的实际大小创建一个显示动画 GIF 的图像组件。
fig = uifigure; im = uiimage(fig,"ImageSource","questions.gif"); im.ScaleMethod = "none";
现在,缩放图像,使其适应默认组件区域,保持纵横比而不进行裁剪。然后,应用黑色背景以创建宽银幕式外观(图像上方和下方具有黑色条形)。
im.ScaleMethod = "scaledown"; im.BackgroundColor = "black";
将图像配置为点击时打开链接
创建一个图像并指定 URL,当您点击该图像时,该 URL 将在新浏览器标签页中打开。指定在指向图像时出现的工具提示。
fig = uifigure; im = uiimage(fig); im.ImageSource = "ngc6543a.jpg"; im.URL = "https://www.mathworks.com/"; im.Tooltip = "Go to www.mathworks.com";
在 R2022b 之前: 使用 ImageClickedFcn
属性而不是 URL
属性,并使用函数句柄创建回调。im.ImageClickedFcn = @(src,event)web("https://www.mathworks.com/");
输入参数
parent
— 父容器
Figure
对象 (默认) | Tab
对象 | Panel
对象 | ButtonGroup
对象 | GridLayout
对象
父容器,指定为使用 uifigure
函数创建的 Figure
对象或其子容器之一:Tab
、Panel
、ButtonGroup
或 GridLayout
。如果不指定父容器,MATLAB 会调用 uifigure
函数创建新 Figure
对象充当父容器。
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: im = uiimage('ScaleMethod','none')
注意
此处所列的属性只是一部分。有关完整列表,请参阅 Image 属性。
ImageSource
— 图像源或文件
' ' (默认) | 文件路径 | m
×n
×3 真彩色图像数组
图像源或文件,指定为文件路径或 m
×n
×3 真彩色图像数组。支持的图像格式包括 JPEG、PNG、GIF、SVG 或 m
×n
×3 真彩色图像数组。
有关真彩色图像数组的详细信息,请参阅在 MATLAB 中使用图像类型。
示例: im = uiimage('ImageSource','peppers.png');
示例: im.ImageSource = 'C:\TEMP\ngc6543a.jpg';
ScaleMethod
— 图像缩放方法
'fit'
(默认) | 'fill'
| 'none'
| 'scaledown'
| 'scaleup'
| 'stretch'
图像缩放方法,指定为下表中列出的值之一。使用此名称-值对组参量指定图像在组件区域内的呈现方式。
该表使用示例图像演示了每种缩放方法。在渲染后的图像示例中,图像组件的 BackgroundColor
属性已设置为 'magenta'
。SVG 图像文件的缩放行为可能会根据文件的定义而有所不同。
值 | 描述 | 示例 | 放大 | 缩小 | 保持纵横比 | 裁剪图像 | |
---|---|---|---|---|---|---|---|
原始图像 | 渲染后的图像 | ||||||
'fit' | 在任意方向缩放以在组件区域内显示图像,并保持纵横比而不进行裁剪。 | | | 是 | 是 | 是 | 否 |
'fill' | 在任意方向缩放以填充组件区域,保持纵横比并在必要时进行裁剪。 | | | 是 | 是 | 是 | 是 |
'none' | 使用图像的实际大小并保持纵横比。如果组件区域小于图像,图像将被裁剪。 | | | 否 | 否 | 是 | 是 |
'scaledown' | 缩小并保持纵横比而不裁剪。 如果原始图像大于组件区域,则图像缩小,呈现效果与 | | | 否 | 是 | 是 | 否 |
'scaleup' | 放大并保持纵横比而不进行裁剪。 如果原始图像小于组件区域,则图像放大,呈现效果与 | | | 是 | 否 | 是 | 是 |
'stretch' | 在任意方向缩放以填充组件区域,不保持纵横比,也不进行裁剪。 | | | 是 | 是 | 否 | 否 |
URL
— 图像超链接 URL
''
(默认) | 字符向量 | 字符串标量
图像超链接 URL,指定为字符向量或字符串标量。当用户点击图像时,由 URL 指定的 Web 地址将在新浏览器标签页中打开。如果用户使用 MATLAB Online™ 在浏览器中运行该 App,或将其作为 Web App 运行,新标签页将在当前浏览器中打开。否则,新标签页将在用户系统的默认浏览器中打开。
ImageClickedFcn
— 点击图像后执行的回调
' ' (默认) | 函数句柄 | 元胞数组 | 字符向量
点击图像后执行的回调,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参量。
包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
当用户点击 App 中的图像时,将执行此回调。如果使用 URL
属性指定要打开的链接,则回调将在该链接打开后执行。
此回调函数可以访问有关用户与图像的交互的特定信息。MATLAB 将 ImageClickedData
对象中的此信息作为第二个参量传递给回调函数。在 App 设计工具中,该参量名为 event
。您可以使用圆点表示法查询对象属性。例如,event.Source
返回用户正在与之交互的 Image
对象以触发回调。ImageClickedData
对象不可用于指定为字符向量的回调函数。
下表列出了 ImageClickedData
对象的属性。
属性 | 值 |
---|---|
EventName | 'ImageClicked' |
Source | 执行回调的组件 |
有关编写回调的详细信息,请参阅App 设计工具中的回调。
Position
— 图像组件的位置和大小
[100 100 100 100]
(默认) | [left bottom width height]
图像组件相对于父组件的位置和大小,指定为 [left bottom width height]
形式的四元素向量。此表介绍该向量中的每个元素。
元素 | 描述 |
---|---|
left | 父容器的内部左边缘与图像组件的外部左边缘之间的距离 |
bottom | 父容器的内部下边缘与图像组件的外部下边缘之间的距离 |
width | 图像组件的左右外部边缘之间的距离 |
height | 图像组件的上下外部边缘之间的距离 |
Position
值相对于父容器的可绘制区域。可绘制区域是指容器边框内的区域,不包括装饰元素(如菜单栏或标题)所占的区域。
所有测量值都以像素为单位。
版本历史记录
在 R2019a 中推出R2023a: 指定图像替换文本
指定 AltText
属性以提供图像的描述。当 App 用户浏览您的 App 时,屏幕阅读器使用此文本来描述图像。
R2022b: 使用 URL
属性创建一个图像超链接
要在用户点击 App 中的图像时打开 Web 地址,请指定图像的 URL
属性。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)