图像

解码并缩放图片

0次调用
2 积分/次

在 RAM 和 Flash 极其有限的设备上解码图片是一项繁重的任务。这个接口专为 IoT 和嵌入式开发设计,将复杂的图像解码和缩放操作转移到云端,直接输出适用于单片机屏幕的二进制像素流。

功能概述

此接口提供了灵活的云端图像预处理能力,帮助硬件开发者跳过繁琐的图像处理逻辑:

  • 直接推流渲染:如果选择输出纯像素流(如 RGB565),单片机收到网络数据后无需解析文件头,可直接将其写入显存,实现极低内存占用的边下边播。
  • 完美适配屏幕:无需在设备端编写裁剪或补边代码。只需传入目标屏幕的物理分辨率,接口会自动完成等比缩放、居中补色或铺满裁剪,确保最终显示画面不变形。
  • 精准内存分配:在动态缩放图片的场景下,服务端会在 HTTP 响应头中提前注入 X-Image-WidthX-Image-Height,方便设备在读取真实的二进制数据前进行准确的内存分配。

使用须知

  • 请求格式:无论是上传本地文件还是传递图片链接,请求体都必须使用 multipart/form-data 编码格式。
  • 网络资源获取:当您选择传递图片链接时,服务端会自动尝试获取该资源。请确保您提供的图片链接是公网直接可访问的,且不需要任何形式的登录鉴权。

查询参数

width
integer可选

目标宽度,单位是像素。可以单独传,也可以和 height 一起传。与 max_widthmax_height 互斥。

height
integer可选

目标高度,单位是像素。可以单独传,也可以和 width 一起传。与 max_widthmax_height 互斥。

max_width
integer可选

最大宽度,单位是像素。只有在不传 widthheight 时才生效,会按原比例缩放。

max_height
integer可选

最大高度,单位是像素。只有在不传 widthheight 时才生效,会按原比例缩放。

format
string可选

输出格式。可以传 bmprgb565rgb888,不传时默认是 bmp

color_mode
string可选

BMP 输出的颜色模式。只有在 format=bmp 时才生效,可以传 RGB565RGB888,不传时默认是 RGB888

fit
string可选

缩放模式。可以传 containcoverfill,不传时默认是 contain。当传 coverfill 时,widthheight 都要传。

background
string可选

背景色。可以传 blackwhite#RRGGBB,不传时默认是 black

请求体

包含图片来源的表单数据。fileurl 至少传一个;如果同时传,优先使用 file

file
file可选

要处理的图片文件。这个接口适合直接上传 JPG、JPEG、PNG、WebP、BMP 等常见格式。

url
string可选

要处理的图片链接。适合不方便直接上传文件时使用。

响应

200 / 请求成功

处理成功,直接返回图片二进制数据。format=bmp 时返回 BMP 图片数据,format=rgb565rgb888 时返回原始二进制像素数据。

格式 1image/bmp
格式 2application/octet-stream

400 / 错误的请求

请求参数不正确,或者传入的文件和链接都不是可处理的图片内容。

JSON

413 / 请求实体太大

上传图片体积、拉取到的图片体积、源图片像素,或者输出图片像素超过限制。

JSON

500 / 服务器内部错误

服务器处理失败,例如图片编码阶段发生错误。

JSON

502 / 网关错误

图片下载失败,或者图片链接返回的不是可识别的图片内容。

JSON

503 / 服务不可用

当前图片处理任务过多,或者暂时无法获取图片。

JSON

504 / 网关超时

获取图片超时。

JSON