类型 函数 库 display.* 返回值 显示对象 (DisplayObject) 修订 版本 2024.3703 关键词 图像, 对象, 显示对象, 图形 另请参阅 display.newImageRect() display.loadRemoteImage() 显示对象 (指南) 图像表单 (指南)
从文件在屏幕上显示图像(支持通过 object:setFillColor 进行着色)。局部原点位于图像中心,锚点 初始化为此局部原点。
请注意,当启用内容缩放时,应使用 display.newImageRect() 来加载图像。
图像对象与 矩形对象 相同,其中 object.fill
属性设置为图像。
display.newImage( [parent,] filename [, baseDir] [, x, y] )
GroupObject. 用于插入图像对象的可选显示组。
String. 要加载的图像文件的名称,相对于 baseDir
(默认为 system.ResourceDirectory
)。
Constant. 指定 filename
所在的基本目录。选项包括 system.ResourceDirectory
、system.DocumentsDirectory
、system.ApplicationSupportDirectory
、system.TemporaryDirectory
和 system.CachesDirectory
。默认为 system.ResourceDirectory
。
Number. 图像的 x 坐标。
Number. 图像的 y 坐标。
display.newImage( [parent,] imageSheet, frameIndex [, x, y] )
GroupObject. 用于插入图像对象的可选显示组。
ImageSheet. 使用 graphics.newImageSheet() 创建的图像表单对象的引用。仅当您打算从图像表单创建对象时才需要此参数。
Number. 表示 ImageSheet 中用于创建对象的帧索引号。仅当指定了 imageSheet
时才需要此参数。
Number. 图像的 x 坐标。
Number. 图像的 y 坐标。
默认情况下,新的图像表单将使用线性采样滤波器,以便在实际渲染区域大于或小于加载纹理的像素尺寸时,图像看起来平滑。
您可以通过调用 display.setDefault() 来更改默认纹理滤波器。首次加载图像后,将对同一文件的任何后续加载应用相同的采样滤波器。这是因为每个文件只加载一次纹理。
所有加载的图像都会被缓存。为了节省纹理内存,当检测到显示具有相同文件名的图像时,将使用缓存内存中的图像。这意味着多次加载相同的图像不会增加设备上使用的纹理内存量。图像缓存的一个负面
在使用 display.newImage()
显示图像时,Mac/iOS 与 Windows/Android 之间存在差异。如果要加载的图像超过设备的分辨率,它将在 Mac 和 iOS 上自动缩放以适应屏幕。在 Windows 和 Android 上,它将加载完整分辨率(最高可达设备的最大纹理大小)。这可能导致应用程序在不同平台之间显示不同。如果您在加载之前知道图像大小,请改用 display.newImageRect() — 此 API 还根据设备的分辨率处理加载适当的图像分辨率。
(继承自 ShapeObject 和 display.newRect() 的属性)
local myImage = display.newImage( "image.png" ) -- Position the image myImage:translate( 100, 100 ) -- Tint the image red myImage:setFillColor( 1, 0, 0 ) -- Hide the image myImage.isVisible = false -- Remove the image myImage:removeSelf() myImage = nil
-- Create the image sheet object local options = { -- The params below are required width = 70, height = 41, numFrames = 2, -- The params below are optional (used for dynamic image selection) sheetContentWidth = 70, -- width of original 1x size of entire sheet sheetContentHeight = 82 -- height of original 1x size of entire sheet } local imageSheet = graphics.newImageSheet( "fishies.png", options ) local myImage = display.newImage( imageSheet, 1 )