SDL中文论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4057|回复: 0
打印 上一主题 下一主题

[gui2] 图元:图像(image)

[复制链接]

187

主题

346

帖子

2450

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2450
跳转到指定楼层
楼主
发表于 2016-6-3 17:43:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ancientcc 于 2017-2-2 16:00 编辑

图像图元的配置字段。
字段语义注释
xx偏移可使用公式
yy偏移可使用公式
w宽度可使用公式(注1
h高度可使用公式
name图像文件名支持hdpi_scale表示法
resize_mode缩放方式具体见底下的“三种缩放图像方式”(注2
vertical_mirror是否要上下颠倒yes表示要颠倒,否则不颠倒
hdpi_off是否禁用High DPI放大它是以“,”隔开的布尔字符串,依次表示x、y、w、h


注1:当设置的w/h是0时,最后得出的w/h会是素材图像的w/h乘上hdpi_scale2(hdpi_off_w/hdpi_off_h=false时,值是hdpi_scale,否则1)。app如何设置w、h的自动放大开关?当有提供各分辨率下的图像时,像score.png、score@2x.pngscore@3x.png,如果w/h是0时,那应该关掉自动放大,否则尺寸就会被乘上hdpi_scale,即使取的图像是score@3x.png。如果想设置w/h,则设它的配置尺寸,然后用默认的自动放大,此处情况还适合未提供全各分辨率图像场合,像没有给出score@3x.png,它的缺点是图像配置尺寸写死了配置文件。

注2:三种缩放图像方式
resize_mode值特点注释
scale将图像在水平、垂直方向上同时缩放到指定尺寸。会造成失真。用于绝大多数场合
tile像堆叠砖头一样堆出指定尺寸不会失真
stretch一方向拉伸到指定尺寸,另一方向保持不变不会失真,只会拉长/高。[image]中的w、h必须一个0一个非0,0的方向不变,非0的方向拉到指定值。因为拉长/拉高用的是基于原素材,为避免出空白,当要拉长时,应该关掉高度上的自动放大;同样,当要拉高时,应该关掉长度上的自动放大


stretch只会取素材中第一列/第一行图像,只是把这一列/一行拉伸。下图,用左侧图像水平拉伸出右侧结果,其实起作用的只有第一列。同样,垂直拉伸起作用的只是第一行。

stretch其实是tile的特列,这个tile素材只有一列、一行,而且非拉伸方向保持尺寸不变。使用场合像9.1中的top、bottom、left、right。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|丽谷软件|libsdl.cn

GMT+8, 2024-5-20 04:27 , Processed in 0.044120 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表