aardio 调用 python将图片放上界面

在 aardio 中显示图片

显示图片的控件

在 aardio 中我们显示图片也有对应的控件,这个空间就是高级 plus

image-20221015101617816

注意请不要使用旁边的普通图像控件,因为右边的高级图像控件实质上就是左边的上位替代,这个以后我会单独新开一期教程讲讲 aardio 中的界面控件,但是现在不是时间,这个视频主要还是围绕 python 与 aardio 之间的强联动

我们点开他们,然后这个 plus 有一个属性叫 background 通过这个我们就可以很方便的修改图片上去了,但是这个输入的图片有比较苛刻的要求,这个图片不能是一个路径,而必须是字节数组 byte,如果对这个没有了解的同学我可以给大家做一个简单的介绍

字节数组就是我们常说的二进制序列,你可以理解为很多 0和1,然后计算器上任何资源都由这些0 和 1组成,我们在数据传输的时候也会使用字节数组进行传输,而不是直接传输一个字符串,详情可以见《计算机网络结构》

使用 IO 库

大家平时都经常再用的 with open 其实就是 io 库,io 库就是用来操作文件的库, 但是这里面有两个比较特殊的,这两个不是向磁盘写入数据,而是向内存写入数据,这样的方式适合我们短时间就释放的资源,这两个指令分别是 StringIOBytesIO

当然我们不会两个都讲,我们这里只讲 BytesIO

这个方法可以让我们将一个文件读取到内存中,然后我们就可以像从磁盘打开文件一样正常打开它,但是好处是我们使用之后这个存在内存里面的文件就会消失

我们直接开始一个演示,首先需要准备好一张图片

image-20221015110203125

然后我们开始先在 python 里面写代码,目标是读取到这张图片的比特信息

import io
def get_img():
    # 使用 with 方法打开,注意这里使用的 rb
    with open("./1.jpg",'rb') as f:
        # 创建一个 BytesIO 方法
        img = io.BytesIO()
        # 将文件内容写入到 BytesIO 中
        img.write(f.read()) 
        #  使用 getvalue 方法获取到值
        print(img.getvalue())
    return img.getvalue()

这样我们就获取到了我们的二进制内容

在 aardio 中使用 plus

然后我们再前往 aardio 中进行修改,想要修改背景图可以通过两个办法 setBackground 和普通的 background ,区别在于第一个可以传入一个参数,询问是否提前缓存图片

注意这里需要使用 parseValue() 如果不使用就没有办法正常出图

py3.exec(code);
	var img = py3.main.get_img()
	//mainForm.plus.setBackground(img.parseValue(),false) 两种方法都可以
	mainForm.plus.background = img.parseValue();

image-20221015110554631

可以看到我们的图片正常输出在我们的界面上了

但是我们现在的图像有点扭曲,我们可以通过背景模式进行修改

image-20221015110716803

image-20221015110724789

更多参数可以在这里调节

image-20221015110800692

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值