颜色
修改图片各个颜色通道的值,使图片产生变色的效果。这个功能的原理是设置三角形的顶点颜色。(注:Egret、Laya版本目前是通过滤镜实现的,效率较低,不推荐使用此功能)。
-
翻转
将图片水平翻转或垂直翻转。与设置Scale为-1的传统翻转方法不同,这里的翻转是渲染级别的翻转,不涉及到矩阵变换,不受轴心、坐标等影响,如果需要图片翻转建议使用这里的选项。(注:Egret、Laya版本未能实现这个特性,现在是通过设置Scale为-1实现的,因此尽量避免使用这个选项,如果要使用,请不要再使用Scale值)。 -
填充方法
设置填充方法可以实现图片的一些裁剪效果。(注:仅Starling、Unity版本支持) -
GImage
图片我们一般不直接使用new来创建,也很少有需要单独创建图片的需求。它一般直接放置在其他组件中作为组成元素。如果确实需要实例化一个图片,可以使用以下方法:
GImage aImage = UIPackage.CreateObject("包名","图片名").asImage;
图片作为UI的一个基础组成元素,它的设计首先是考虑到简单高效,所以是不提供API修改图片的。如果有动态更改图片的需求,应该改为使用装载器(GLoader)。
在Unity平台中,如果在某些特殊场合需要将Texture2D对象赋予给GImage,可以这样做:
//必须注意GImage不管理外部对象的生命周期,不会主动销毁your_Texture2D
aImage.texture = new NTexture(your_Texture2D);
再次强调,这种需求仍然是建议尽量使用装载器实现。
在Unity平台中,你可以为GImage设置自定义的材质,或者着色器。例如:
aImage.shader = yourShader;
//或者
aImage.material = yourMaterial;