Skip to content

UIImage

继承自:

描述

UI图片组件。用于显示2D图片,支持多种填充模式、缩放类型和特效功能

属性

stringIcon
图片资源路径
FillMethodFillMethod
填充模式。控制图片的填充显示方式,用于实现进度条、圆形进度等效果,默认值为None
FillOriginFillOrigin
填充原点。控制填充过程的原点,仅在Horizontal与Vertical填充模式下适用。对于每种填充方法,值的意义不同,默认值为Top
boolFillClockwise
顺时针填充。仅在Radial360模式下适用,为true时以上方中点为起点顺时针渲染,默认值为false
floatFillAmount
填充比例。控制填充显示的部分占原来大小的比例,取值范围:0.0-1.0,默认1.0
boolIsAutoSize
自动调整大小。为true时,将节点大小调整为图片原始大小,默认值为false
floatAlpha
图片透明度。控制图片的透明度,取值范围:0.0-1.0,0.0为完全透明,1.0为完全不透明,默认值为1.0
Vector2ResourceSize
图片资源原始尺寸。只读属性,显示加载的图片资源的原始宽高
ScaleTypeScaleType
图片缩放类型。控制图片在节点中的显示方式:拉伸填充或九宫格缩放
Vector4Scale9Grid
九宫格缩放参数。Vector4格式(x,y,width,height),定义九宫格的中心区域,仅在ScaleType为Slice时生效
boolBlurFilter
是否启用高斯模糊效果。开启后图片会显示模糊效果,默认值为false
intBlurSigma
高斯模糊强度。控制模糊效果的强度,数值越大模糊效果越强,默认值为3
boolUIMaskMode
遮罩模式。当前节点作为父节点的遮罩,用于实现裁剪效果,默认值为false

代码示例

lua
-- 创建UI根节点
local root = SandboxNode.new("UIRoot", game.WorkSpace)
root.Name = "uiroot"

-- 创建图片组件
local image = SandboxNode.new("UIImage", root)
image.Name = "image"
image.Size = Vector2.new(100, 100)
image.Position = Vector2.new(100, 100)
image.Icon = "sandboxSysId://ui/icon_default_image.png"
image.Alpha = 1.0
image.IsAutoSize = false
image.FillMethod = Enum.EnumFillMethod.Horizontal
image.FillOrigin = Enum.EnumFillOrigin.Top
image.FillAmount = 0.7  -- 70%填充

-- 设置模糊效果
image.BlurFilter = true
image.BlurSigma = 5

-- 动态改变填充量(模拟进度条)
local progress = 0
local function updateProgress()
    progress = progress + 0.01
    if progress > 1.0 then
        progress = 0
    end
    image.FillAmount = progress
end

-- 每帧更新进度
game:GetService("RunService").RenderStepped:Connect(updateProgress)

-- 切换填充模式
local function toggleFillMethod()
    if image.FillMethod == Enum.FillMethod.Horizontal then
        image.FillMethod = Enum.FillMethod.Vertical
    elseif image.FillMethod == Enum.FillMethod.Vertical then
        image.FillMethod = Enum.FillMethod.Radial360
    else
        image.FillMethod = Enum.FillMethod.Horizontal
    end
end

-- 点击切换填充模式
image.Click:Connect(toggleFillMethod)