一、概述:

记录封装常用autojs语法及案例,方便日后急速上手使用,高手请绕路!

 

二、基础案例

1.上传图片剪切并返回图片

  • 由于我的autojs的images.clip方法在使用是报错,所以换种方式剪切图片;
  • 方式:通过接口处理图片,后端接口服务为python+flask

服务端:

#!/usr/bin/env python
# encoding: utf-8

import flask
from PIL import Image
from io import BytesIO
from werkzeug.utils import secure_filename
from flask import request, send_from_directory,jsonify

server = flask.Flask(__name__)#创建Flask对象server

# post方法:上传文件的
@server.route('/upload', methods=['post'])
def upload():
    imgData = request.files.get('file')#文件流
    cc=request.values.get('chen')
    dd=eval(cc)
    if imgData and dd:
        # chen = secure_filename(imgData.filename)#获取文件名
        # imgData.save(chen)#保存图片
        # imgData.seek(0)#重新定义指针到文件开头
        ###读取文件流bytes
        chen = request.files["file"].stream.read()
        #把bytes数组还原成图片
        img = Image.open(BytesIO(chen))
        print('图片尺寸:',img.size)

        #指定区域剪切图片
        cropped = img.crop((dd))  # (x1, y1, x2, y2)
        cropped.save(r"./test.png")#保存图片
        return send_from_directory(r'./','test.png', as_attachment=True) #返回要下载的文件内容给客户端
    else:

        return jsonify({"msg": "false", "ret": 2,"code": "fill","text":"图片处理异常或没有传坐标"})


if __name__ == '__main__':
    server.run(port=8000, debug=True, host='0.0.0.0')
View Code

相关文章: