• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 图像变换
2
3图片处理指对PixelMap进行相关的操作,如获取图片信息、裁剪、缩放、偏移、旋转、翻转、设置透明度、读写像素数据等。图片处理主要包括图像变换、[位图操作](image-pixelmap-operation.md),本文介绍图像变换。
4
5## 开发步骤
6
7图像变换相关API的详细介绍请参见[API参考](../reference/apis/js-apis-image.md#pixelmap7)。
8
91. 完成[图片解码](image-decoding.md#开发步骤),获取Pixelmap对象。
10
112. 获取图片信息。
12
13   ```
14   // 获取图片大小
15   pixelMap.getImageInfo().then( info => {
16     console.info('info.width = ' + info.size.width);
17     console.info('info.height = ' + info.size.height);
18   }).catch((err) => {
19     console.error("Failed to obtain the image pixel map information.And the error is: " + err);
20   });
21   ```
22
233. 进行图像变换操作。
24
25   原图:
26
27     ![Original drawing](figures/original-drawing.jpeg)
28   - 裁剪
29
30     ```
31     // x:裁剪起始点横坐标0
32     // y:裁剪起始点纵坐标0
33     // height:裁剪高度400,方向为从上往下(裁剪后的图片高度为400)
34     // width:裁剪宽度400,方向为从左到右(裁剪后的图片宽度为400)
35     pixelMap.crop({x: 0, y: 0, size: { height: 400, width: 400 } });
36     ```
37
38     ![cropping](figures/cropping.jpeg)
39
40   - 缩放
41
42     ```
43     // 宽为原来的0.5
44     // 高为原来的0.5
45     pixelMap.scale(0.5, 0.5);
46     ```
47
48     ![zoom](figures/zoom.jpeg)
49
50   - 偏移
51
52     ```
53     // 向下偏移100
54     // 向右偏移100
55     pixelMap.translate(100, 100);
56     ```
57
58     ![offsets](figures/offsets.jpeg)
59
60   - 旋转
61
62     ```
63     // 顺时针旋转90°
64     pixelMap.rotate(90);
65     ```
66
67     ![rotate](figures/rotate.jpeg)
68
69   - 翻转
70
71     ```
72     // 垂直翻转
73     pixelMap.flip(false, true);
74     ```
75
76     ![Vertical Flip](figures/vertical-flip.jpeg)
77
78
79     ```
80     // 水平翻转
81     pixelMap.flip(true, false);
82     ```
83
84     ![Horizontal Flip](figures/horizontal-flip.jpeg)
85
86   - 透明度
87
88     ```
89     // 透明度0.5
90     pixelMap.opacity(0.5);
91     ```
92
93     ![Transparency](figures/transparency.png)
94