我有一个生成PIL图像的python脚本。我需要使用curl将这张图片发送到php脚本。我发现只有一种方法可以做到这一点:将图像转换为字节数组并将其作为文本返回:
# image is a PIL object
from PIL import Image
import io, json
image = Image.open('test.png', mode = 'r')
img_io = io.BytesIO()
image.save(img_io, format='PNG')
byte_array = img_io.getvalue()
print(json({'image':byte_array}))
接下来我解码这个字节数组并用这个php代码显示图像:
$result = curl_exec($ch);
$result = json_decode($result, true);
$image = $result['image']
echo "<img src='data:image/png;base64, $image' />"
然而,我不知道那是好的。
问题是:是否有一种更正确的方法可以在php中使用curl获取PIL图像?
答案 0 :(得分:0)
创建路由
@app.route('/image/', methods=['GET'])
def image():
return create_image('test.png')
创建图片
def create_image(parameter):
image = Image.open(parameter, mode = 'r')
img_io = io.BytesIO()
merge.save(img_io, 'PNG', quality=100)
img_io.seek(0)
return send_file(img_io, mimetype='image/png')
在你想要的地方展示你的图片
$result = curl_exec($ch);
$result = json_decode($result, true);
$image = $result['image']
echo "<img src='http://YOUR_FLASK_IP:5000/image/' />"