EVB 335X-II有一个800*480的屏幕,如果放在家里,那么我们可以做一个电子相册,在家里放着的时候,可以自动播放图片幻灯片。这篇博客,我们将使用开源方案以及Yocto来构建和完成这个小项目。
方案选择 我们可以自己使用Qt/C++甚至Python,C来写一个直接操作Framebuffer,并针对不同size的图片进行适配和Zoom In/Out缩放处理,还需要对不同图片的加载进行判断,同时如果我们还希望在图片上面显示字的话,还需要一些叠加处理,然后我们还需要进行交互的API暴露,例如让user可以查看Next与Previous Picture; 网络支持;缩略图显示支持;网络图片支持;透明显示;放大缩小支持;EXIF信息解析与显示与叠加;只显示特定特征的图片;抗锯齿。
可以看到,本来想着是一个简单的电子相册,如果想去做好,并不容易。需要考虑的方面很多。
这里我们使用feh这个开源的方案。
feh有诸多的优点,feh使用imlib2并基于X11来显示,同时支持插件化配置,还支持网络。
其官方列出的features有:
以上这些features并不是feh的全部功能。大家可以man 一把或者看看doc。 下面是feh的一些文档与screenshot:
http://man.finalrewind.org/1/feh/
http://feh.finalrewind.org/examples/
实现
方案选择 我们可以自己使用Qt/C++甚至Python,C来写一个直接操作Framebuffer,并针对不同size的图片进行适配和Zoom In/Out缩放处理,还需要对不同图片的加载进行判断,同时如果我们还希望在图片上面显示字的话,还需要一些叠加处理,然后我们还需要进行交互的API暴露,例如让user可以查看Next与Previous Picture; 网络支持;缩略图显示支持;网络图片支持;透明显示;放大缩小支持;EXIF信息解析与显示与叠加;只显示特定特征的图片;抗锯齿。
可以看到,本来想着是一个简单的电子相册,如果想去做好,并不容易。需要考虑的方面很多。
这里我们使用feh这个开源的方案。
feh有诸多的优点,feh使用imlib2并基于X11来显示,同时支持插件化配置,还支持网络。
其官方列出的features有:
- Various operation modes:
- Slideshow: Show all files in or below a directory, change slides with your keyboard or automatically after a delay
- Thumbnail: List files as clickable thumbnails
- List: ls-like output with image dimensions etc.
- Multiwindow: Open all images at once
- optional HTTP/FTP support via libcurl
- Can be used as wallpapersetter, supports rxvt transparency
- Filelist support
- Lots of configurable keyboard shortcuts. Well usable without mouse
- Custom actions (shell commands), e.g. for sorting images
以上这些features并不是feh的全部功能。大家可以man 一把或者看看doc。 下面是feh的一些文档与screenshot:
http://man.finalrewind.org/1/feh/
http://feh.finalrewind.org/examples/
实现