doum
6 天以前 2b287056e2f59518888d05a1bbc7e5a55fbd84d5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.example.datalibrary.view;
 
import android.graphics.RectF;
import android.view.TextureView;
 
/**
 * 该类用于实现,图片源(@see ImageSource)数据预览。
 */
public interface PreviewView {
    /**
     * 图片帧缩放类型。
     */
    enum ScaleType {
 
        /**
         * 宽度与父控件一致,高度自适应
         */
        FIT_WIDTH,
        /**
         * 调试与父控件一致,宽度自适应
         */
        FIT_HEIGHT,
        /**
         * 全屏显示 ,保持显示比例,多余的部分会被裁剪掉。
         */
        CROP_INSIDE,
    }
 
    TextureView getTextureView();
 
    /**
     * 设置帧大小。
     *
     * @param width  帧宽度
     * @param height 帧调试
     */
    void setPreviewSize(int width, int height);
 
    /**
     * 预览View中的坐标映射到,原始图片中。应用场景举例:裁剪框
     *
     * @param rect 预览View中的坐标
     */
    void mapToOriginalRect(RectF rect);
 
    /**
     * 原始图片中的坐标到预览View坐标中的映射。应用场景举例:预览页面显示人脸框。
     *
     * @param rectF 原始图中的坐标
     */
    void mapFromOriginalRect(RectF rectF);
 
    /**
     * 设置预览的缩放类型
     *
     * @param scaleType 缩放类型
     */
    void setScaleType(ScaleType scaleType);
 
    /**
     * 获取预览缩放类型
     *
     * @return 预览缩放类型
     */
    ScaleType getScaleType();
 
    void setMirrored(boolean mirrored);
}