hybrid_plus
Version:
Hybrid Flutter Javascript SDK
138 lines (137 loc) • 3.58 kB
TypeScript
import { ExecOptions } from "./core.ts";
/** 选择图片方式 */
export declare enum ImageSource {
/** 打开设备相机,让用户拍摄新照片 */
camera = 0,
/** 打开用户的照片库 */
gallery = 1
}
/**
* 图片选择结果
* @description 图片实体
* @param {string} path 图片本地路径
* @param {string?} url 图片远程地址
* @param {string?} base64 图片base64
* @param {string} name 图片名称
* @param {string} 远程图片存储id
* @param {string} mimeType
*/
export interface ImageEntity {
name: string;
mimeType?: string;
path: string;
url?: string;
id?: string;
base64?: string;
}
/**
* 图片选择选项
* @param {number} maxHeight 最大高度
* @param {number?} maxWidth 最大宽度
* @param {number?} imageQuality 图片质量
* @param {boolean} requestFullMetadata 控制需要获取多少附加信息
* @param {boolean} toBase64 是否返回base64
* @param {boolean} upload 是否上传
*/
interface BaseImagePickerOptions extends ExecOptions<ImageEntity | ImageEntity[], any> {
maxHeight?: number;
maxWidth?: number;
imageQuality?: number;
requestFullMetadata?: boolean;
toBase64?: boolean;
upload?: boolean;
}
/**
* 从相册选择选项
* @param {boolean} multiple 是否多选
*/
export interface PickImageOptions extends BaseImagePickerOptions {
multiple?: boolean;
}
/** 相机 */
export declare enum CameraDevice {
/** 使用后置摄像头 */
rear = 0,
/** 使用前置摄像头 */
front = 1
}
/**
* 拍照选项
* @param {CameraDevice} preferredCameraDevice 相机
*/
export interface TakePhotoOptions extends BaseImagePickerOptions {
preferredCameraDevice?: CameraDevice;
}
/**
* 图片预览选项
* @param {string[]} urls 图片地址列表,仅支持网络地址和本地文件地址
* @param {number} initialIndex 初始图片下标
*/
export interface PreviewImagesOptions {
urls: string[];
initialIndex?: number;
}
/**
* 保存图片选项
* @param {string} url 图片地址
* @param {string?} name 图片名称
*/
export interface SaveImageOptions extends ExecOptions<any, any> {
url: string;
name?: string;
}
/**
* 添加水印返回结果
* @param {string} path 图片本地路径
* @param {ImageInfo} name 图片信息
* @param {string?} base64 base64格式
* @param {string?} url 图片远程地址
*/
export interface AddWaterMarkResult {
path: string;
imageInfo: ImageInfo;
base64?: string;
url: string;
}
/**
* 图片信息
* @param {number} width 图片宽度
* @param {number} height 图片高度
* @param {number} size 图片大小
*/
interface ImageInfo {
width: number;
height: number;
size: number;
}
/**
* 添加水印选项
* @param {string} url 图片地址
* @param {number?} height 图片高度
* @param {number?} width 图片宽度
* @param {boolean?} toBase64 是否转为base64
* @param {boolean?} upload 是否上传
* @param {string?} text 水印文字
* @param {string?} color 文字颜色
* @param {number?} fontSize 字大小小
* @param {number?} fontWidget 字重
*/
export interface AddWaterMarkOptions extends ExecOptions<AddWaterMarkResult, any> {
url: string;
height?: number;
width?: number;
toBase64?: boolean;
upload?: boolean;
text?: string;
color?: string;
fontSize?: number;
fontWeight?: number;
}
/**
* 转base64参数
* @param {string} path 图片路径
*/
export interface ToBase64Options extends ExecOptions<string, any> {
path: string;
}
export {};