改变图片大小
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-30 00:20:58 |
👁️ 阅读: 18
根据浮生梦老师前端课程内容,改变图片大小可以使用 `GUI:setScale` 函数或 `GUI:setContentSize` 函数。
## 方法一:使用 setScale 缩放
```lua
-- 创建图片控件
local image = GUI:Image_Create(parent, "my_image", 100, 100, "res/public_win32/1900000610.png")
-- 设置缩放比例(1.0为原始大小)
GUI:setScale(image, 0.5) -- 缩小到50%
GUI:setScale(image, 2.0) -- 放大到200%
-- 分别设置X和Y轴缩放
GUI:setScaleX(image, 1.5) -- X轴放大1.5倍
GUI:setScaleY(image, 0.8) -- Y轴缩小到80%
```
## 方法二:使用 setContentSize 设置具体尺寸
```lua
-- 创建图片控件
local image = GUI:Image_Create(parent, "my_image", 100, 100, "res/public_win32/1900000610.png")
-- 设置具体宽高(单位:像素)
GUI:setContentSize(image, 200, 150) -- 宽度200像素,高度150像素
```
## 方法三:创建时指定大小
```lua
-- 先创建Widget作为容器
local container = GUI:Widget_Create(parent, "img_container", 100, 100, 200, 150)
-- 创建图片并设置大小
local image = GUI:Image_Create(container, "my_image", 0, 0, "res/public_win32/1900000610.png")
GUI:setContentSize(image, 200, 150)
```
## 注意事项:
1. **setScale**:改变的是显示比例,图片实际像素不变
2. **setContentSize**:直接改变控件的宽高尺寸
3. **锚点影响**:缩放和尺寸调整会以控件的锚点为中心,默认锚点是(0,0)即左上角
4. **保持比例**:如果需要等比例缩放,需要同时设置相同的X和Y缩放值
推荐使用 `GUI:setScale` 进行等比缩放,使用 `GUI:setContentSize` 进行精确尺寸控制。
← 返回问答库