Options
显示所有项
  • 仅显示公有项
  • 显示保护/公有项
  • 显示所有项
Menu

image模块主要提供图片读写、灰度化、剪切、缩放、模板匹配等图像处理函数,其主要API在本页展示的函数以及Image类。

类似Pro 8中截图函数已迁移到media_projection模块。另外,要直接使用opencv相关函数和功能,参见@autojs/opencv模块。

索引

类型别名

ImageFormat

ImageFormat: "jpg" | "jpeg" | "png" | "webp"

Region

Region: Rect | number[]

变量

常量 MAX_LEVEL_AUTO

MAX_LEVEL_AUTO: -1 = -1

函数

decodeImage

  • decodeImage(str: string, encoding?: BufferEncoding): Promise<Image>
  • 将字符串解码为图片对象,并异步返回该图片对象。若无法解码,则抛出异常。

    参数

    • str: string

      字符串,根据encoding参数决定格式,默认为base64

    • encoding: BufferEncoding = 'base64'

      编码格式,默认为base64

    返回 Promise<Image>

decodeImageFromBuffer

  • decodeImageFromBuffer(buffer: Buffer): Promise<Image>
  • 从Buffer中解码图片,并异步返回解码后的图片对象。若无法解码,则抛出异常。

    参数

    • buffer: Buffer

    返回 Promise<Image>

decodeImageFromBufferSync

  • decodeImageFromBufferSync(buffer: Buffer): Image
  • 从Buffer中解码图片,并同步返回解码后的图片对象。若无法解码,则抛出异常。

    参数

    • buffer: Buffer

    返回 Image

decodeImageSync

  • decodeImageSync(str: string, encoding?: BufferEncoding): Image
  • 将字符串解码为图片对象,并同步返回该图片对象。若无法解码,则抛出异常。

    参数

    • str: string

      字符串,根据encoding参数决定格式,默认为base64

    • encoding: BufferEncoding = 'base64'

      编码格式,默认为base64

    返回 Image

detectsColor

detectsMultiColors

encodeImage

  • encodeImage(img: Image, encoding?: BufferEncoding, format?: ImageFormat, quality?: number): Promise<string>
  • 将图片编码为字符串,并异步返回编码后的字符串。

    参数

    • img: Image
    • encoding: BufferEncoding = 'base64'

      编码格式,默认为base64

    • format: ImageFormat = 'png'

      图片压缩格式,默认为png。可选的值有:png、jpg、jpeg、webp。

    • quality: number = 100

      图片质量,范围0-100。默认值为100。

    返回 Promise<string>

encodeImageSync

  • encodeImageSync(img: Image, encoding?: BufferEncoding, format?: ImageFormat, quality?: number): string
  • 将图片编码为字符串,并同步返回编码后的字符串。

    参数

    • img: Image
    • encoding: BufferEncoding = 'base64'

      编码格式,默认为base64

    • format: ImageFormat = 'png'

      图片压缩格式,默认为png。可选的值有:png、jpg、jpeg、webp。

    • quality: number = 100

      图片质量,范围0-100。默认值为100。

    返回 string

encodeImageToBuffer

  • encodeImageToBuffer(img: Image, format?: ImageFormat, quality?: number): Promise<Buffer>
  • 将图片编码为二进制数据,并异步返回编码后的Buffer对象。

    参数

    • img: Image
    • format: ImageFormat = 'png'

      图片压缩格式,默认为png。可选的值有:png、jpg、jpeg、webp。

    • quality: number = 100

      图片质量,范围0-100。默认值为100。

    返回 Promise<Buffer>

encodeImageToBufferSync

  • encodeImageToBufferSync(img: Image, format?: ImageFormat, quality?: number): Buffer
  • 将图片编码为二进制数据,并同步返回编码后的Buffer对象。

    参数

    • img: Image
    • format: ImageFormat = 'png'

      图片压缩格式,默认为png。可选的值有:png、jpg、jpeg、webp。

    • quality: number = 100

      图片质量,范围0-100。默认值为100。

    返回 Buffer

findColor

findColorSync

findImage

findImageInRegion

  • findImageInRegion(src: Image, template: Image, x: number, y: number, width?: number, height?: number, threshold?: number): Promise<Point2 | null>
  • 参数

    • src: Image
    • template: Image
    • x: number
    • y: number
    • 可选 width: number
    • 可选 height: number
    • 可选 threshold: number

    返回 Promise<Point2 | null>

findImageInRegionSync

  • findImageInRegionSync(src: Image, template: Image, x: number, y: number, width?: number, height?: number, threshold?: number): Point2 | null
  • 参数

    • src: Image
    • template: Image
    • x: number
    • y: number
    • 可选 width: number
    • 可选 height: number
    • 可选 threshold: number

    返回 Point2 | null

findImageSync

findMultiColors

findMultiColorsSync

loadImage

  • loadImage(url: string): Promise<Image>
  • 加载指定url地址的图片,异步返回Image对象。若url无法访问或图片无法解析,则抛出异常。

    参数

    • url: string

      图片地址,需要以https或http开头

    返回 Promise<Image>

readImage

  • readImage(file: string): Promise<Image>
  • 读取指定路径的文件,异步返回Image对象。若文件不存在或无法解析,则抛出异常。

    参数

    • file: string

      文件路径,支持相对路径

    返回 Promise<Image>

readImageSync

  • readImageSync(file: string): Image
  • 读取指定路径的文件,同步返回Image对象。若文件不存在或无法解析,则抛出异常。

    参数

    • file: string

      文件路径,支持相对路径

    返回 Image

writeImage

  • writeImage(img: Image, file: string, quality?: number): Promise<void>
  • 将图片异步写入到指定的路径。

    示例
    "nodejs";
    
    const {loadImage, writeImage} = require("image");
    async function main() {
       const img = await loadImage("https://picsum.photos/200/300");
       await writeImage("./output-200x300.png", img);  
    }
    main();
    

    参数

    • img: Image
    • file: string

      文件路径,支持相对路径。文件路径需要以特定后缀名结束,目前支持的后缀名有:.jpg、.jpeg、.png、.webp。

    • quality: number = 100

      图片质量,范围0-100。默认值为100。

    返回 Promise<void>

writeImageSync

  • writeImageSync(img: Image, file: string, quality?: number): void
  • 将图片同步写入到指定的路径。

    参数

    • img: Image
    • file: string

      文件路径,支持相对路径。文件路径需要以特定后缀名结束,目前支持的后缀名有:.jpg、.jpeg、.png、.webp。

    • quality: number = 100

      图片质量,范围0-100。默认值为100。

    返回 void