支持 Python3 的帧缓冲绘图库
项目描述
# FBpyGIF
Pure Python 实现 Memory-mapped Frame Buffer 主要用于树莓派上的 GIF 动画
## 描述
#### 问题领域
最近需要高效显示图像的树莓派和类似的单板计算机通常使用 [fbi](https: //www.kraxel.org/blog/linux/fbida/)。
这个C库和程序包能够通过直接帧缓冲区正确显示GIF图像,但缺乏播放GIF动画文件的功能。
#### 特性
所以我决定制作几乎纯 Python 实现的库,该库利用帧缓冲区和内存映射。
关于这个库的“纯”的唯一一点是它使用了官方 Raspbian 上默认安装的 python 库的 PIL 库来将图像格式转换为原始 BGR(A),并且还提供了使用 imagemagick 作为解压缩器的方法。
#### 注意
网上有很多关于如何用 C 来 mmap 帧缓冲区的文档,但是 Python 没有类似的文档,Python 默认也有 mmap 库。实际上,关于 Python mmap 库的例子也不多。希望这段代码可以帮助您了解如何 ioctl 和 mmap 不仅是帧缓冲区,而且是使用纯 Python 的通用 Linux 驱动程序。
### 待办事项
- [x] 在 PyPi 上上传,以便使用 `pip install` 进行安装。
- [x] 制作安装脚本
- [x] 每帧都有适当的动画时间延迟
- [x] 标准参数样式启动器
- [x] 检查 Python 版本
- [] 为程序添加更多选项
- [x] 洗牌
- [] 图片框
- [x] 自定义清除
- [] 图层支持
- [] 后台加载下一个动画文件以减少它们之间的加载延迟
- [ ] 通过发送邮箱消息将屏幕设置为 RGB 模式进行优化(RGB_to_BGR 功能将不使用)
- [ ] 错误修正 ioctl 命令。`dmesg` 显示 `bcm2708_fb soc:fb: Unknown ioctl 0x5401`
- [ ] 关于 ioctl 和 mmap 与纯 Python 的 Wiki 文档。
### 测试
- Raspberry pi 2 B+ 上的最新 Raspbian
- Archlinux(不,不是 RPi 上的 ARM 版本,而是流浪虚拟机上的那个)
- Odroid C2 上的 Ubuntu Mate Xenial
### 如何安装
- 枕头的先决条件(对于新鲜的 raspbian)
```
sudo apt install libjpeg8-dev libfreetype6-dev libwebp-dev -y
```
- 选项1:使用 pip
```
sudo apt install python3-pip
sudo pip3 install fbpygif
```
- option2:使用 git 和 setup.py
```
sudo apt install git
git clone https://github.com/chidea/FBpyGIF
cd FBpyGIF
sudo python3 setup.py install
```
### 如何使用
这三个是相同的。
```
sudo FBpyGIF [目录或文件列表...]
sudo python3 -m FBpyGIF.main [...]
sudo python3 -m FBpyGIF [...]
```
- `FBpyGIF --help` 查看所有命令。
- 库和脚本是为 Python >= 3
编写的。 - 直接写入帧缓冲区驱动程序需要超级用户权限。
- `FBpyGIF -ct` 会让你进入颜色测试模式。(注意催眠屏幕;))
- 实用程序
- `python3 -m FBpyGIF.util size_cat ~/pictures` 将根据图片大小对图片进行分类,并移动到您运行它的目录下的水平、垂直、方形文件夹中。
Pure Python 实现 Memory-mapped Frame Buffer 主要用于树莓派上的 GIF 动画
## 描述
#### 问题领域
最近需要高效显示图像的树莓派和类似的单板计算机通常使用 [fbi](https: //www.kraxel.org/blog/linux/fbida/)。
这个C库和程序包能够通过直接帧缓冲区正确显示GIF图像,但缺乏播放GIF动画文件的功能。
#### 特性
所以我决定制作几乎纯 Python 实现的库,该库利用帧缓冲区和内存映射。
关于这个库的“纯”的唯一一点是它使用了官方 Raspbian 上默认安装的 python 库的 PIL 库来将图像格式转换为原始 BGR(A),并且还提供了使用 imagemagick 作为解压缩器的方法。
#### 注意
网上有很多关于如何用 C 来 mmap 帧缓冲区的文档,但是 Python 没有类似的文档,Python 默认也有 mmap 库。实际上,关于 Python mmap 库的例子也不多。希望这段代码可以帮助您了解如何 ioctl 和 mmap 不仅是帧缓冲区,而且是使用纯 Python 的通用 Linux 驱动程序。
### 待办事项
- [x] 在 PyPi 上上传,以便使用 `pip install` 进行安装。
- [x] 制作安装脚本
- [x] 每帧都有适当的动画时间延迟
- [x] 标准参数样式启动器
- [x] 检查 Python 版本
- [] 为程序添加更多选项
- [x] 洗牌
- [] 图片框
- [x] 自定义清除
- [] 图层支持
- [] 后台加载下一个动画文件以减少它们之间的加载延迟
- [ ] 通过发送邮箱消息将屏幕设置为 RGB 模式进行优化(RGB_to_BGR 功能将不使用)
- [ ] 错误修正 ioctl 命令。`dmesg` 显示 `bcm2708_fb soc:fb: Unknown ioctl 0x5401`
- [ ] 关于 ioctl 和 mmap 与纯 Python 的 Wiki 文档。
### 测试
- Raspberry pi 2 B+ 上的最新 Raspbian
- Archlinux(不,不是 RPi 上的 ARM 版本,而是流浪虚拟机上的那个)
- Odroid C2 上的 Ubuntu Mate Xenial
### 如何安装
- 枕头的先决条件(对于新鲜的 raspbian)
```
sudo apt install libjpeg8-dev libfreetype6-dev libwebp-dev -y
```
- 选项1:使用 pip
```
sudo apt install python3-pip
sudo pip3 install fbpygif
```
- option2:使用 git 和 setup.py
```
sudo apt install git
git clone https://github.com/chidea/FBpyGIF
cd FBpyGIF
sudo python3 setup.py install
```
### 如何使用
这三个是相同的。
```
sudo FBpyGIF [目录或文件列表...]
sudo python3 -m FBpyGIF.main [...]
sudo python3 -m FBpyGIF [...]
```
- `FBpyGIF --help` 查看所有命令。
- 库和脚本是为 Python >= 3
编写的。 - 直接写入帧缓冲区驱动程序需要超级用户权限。
- `FBpyGIF -ct` 会让你进入颜色测试模式。(注意催眠屏幕;))
- 实用程序
- `python3 -m FBpyGIF.util size_cat ~/pictures` 将根据图片大小对图片进行分类,并移动到您运行它的目录下的水平、垂直、方形文件夹中。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
FBpyGIF-1.0.5.tar.gz
(12.7 kB
查看哈希)
内置发行版
FBpyGIF-1.0.5-py3.4.egg
(25.8 kB
查看哈希)
FBpyGIF-1.0.5-py3-none-any.whl
(14.8 kB
查看哈希)