egret-docs-master/extension/EUI/controls/image/README.md

37 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2024-06-19 13:32:32 +08:00
图片控件对应的类是 `eui.Image`。`eui.Image` 继承自 `egret.Bitmap`,实现了 `eui.UIComponent` 接口。因此它不仅拥有基本的位图功能(egret.Bitmap),还有自动布局功能(eui.UIComponent)。
基本的位图API使用参考 [egret Engine 编程指南 - 处理位图的基本知识](../../../../Engine2D/bitmapTexture/scale9Grid/README.md)
使用 `egret.Image` 加载并显示图片的代码如下:
~~~ typescript
var image = new eui.Image();
image.source = "image/icon.png";
this.addChild(image);
~~~
## 显示一个九宫格的图片
如下图所示:
![](55d42fbca0208.png)
左上角是尺寸为 100x100 的原图原图显示的是一个圆角区域为10的圆角矩形右下角是尺寸为 200x200 的结果图片结果图片显示的同样是一个圆角区域为10的圆角矩形。
把两张图片都分为9个部分原图划分的区域是 A1-A9结果图片划分的区域是 B1-B9。其中 B1、B3、B7、B9 是 A1、A3、A7、A9 的直接拷贝B2、B8 是 A2、A8 经过X方向的放大变换而来B4、B6 是 A4、A6 经过Y方向的放大变换而来B5 是 A5 经过X、Y方向的放大变换而来。如果 A2、A8 区域X方向放大不变形 A4、A6 区域Y方向放大不变形A5 X、Y方向放大不变则原图无论怎么放大都不变形。
需要注意的是缩小可能会出现问题。
Image 的 `scale9Grid` 属性是一个指定的矩形区域,矩形区域对应 A5 区域的起点坐标以及宽高。
显示一个指定尺寸为 200x200 的九宫格图片,代码如下:
~~~ typescript
var image = new eui.Image();
image.source = "image/uibg.png";
image.scale9Grid = new egret.Rectangle(10,10,80,80);
image.width = 200;
image.height = 200;
this.addChild(image);
~~~