1 / 10
文档名称:

数码相框1.doc

格式:doc   大小:106KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数码相框1.doc

上传人:drp539603 2018/9/14 文件大小:106 KB

下载得到文件列表

数码相框1.doc

文档介绍

文档介绍:嵌入式系统综合设计说明书
题目: 电子相框
学生姓名: 郭伟
组别: 第四组
学院: 信息工程学院
班级: 计07-3
指导教师: 刘志强王小强邢文朋郭文茂

二O一O 年十二月十三日
目录
设计任务与要求 1
设计功能 1
设计思路 1
软件设计 2
源程序清单与注释 2
图片特效函数文件清单 2
Main文件程序清单 4
调试过程 6
实验步骤 6
出现问题 6
解决方法 6
体会 7
设计任务与要求
设计功能
该课程设计的主要内容是:在linux(ubuntu版本)嵌入式系统下利用C语言开发一个具有多样式动态特效的电子相框,要求对图片或文字的效果处理。
设计思路
在应用程序中,先用 FrameBuffer设备(/dev/fb0)映射到进程地址空间(即:锁定屏幕各像素点),再进行 mmap 系统调用进行地址映射(在屏幕上打点),随后用 memset 将屏幕清空。通过freetype库中函数的font可设置和控制字体样式,采用jpeg-8算法解压缩图片。采用C语言的过程设计方法来实现流程的控制和实现图片特效设计。使用回调函数实现图片的动态循环调用,并利用双缓存技术实现图片显示的优化,以提高效率,消除图片显示时因为不同步所导致的抖动现象。
软件设计
源程序清单与注释
图片特效函数文件清单
#include <>
#include <>
#include <>
#include <>
#include <>
#include <sys/>
#include <sys/>
#include ""
#define DEBUG 0
#if DEBUG
#endif
//点到圆
int display_jpeg4(char *filename, fb_info fb_inf)
{
fb_info jpeg_inf;

u8_t *buf24 = decode_jpeg(filename, &jpeg_inf);
u8_t * scale_buf = scale24(buf24, fb_inf, jpeg_inf);
u32_t *buf32 = rgb24to32(scale_buf, fb_inf);
int i;
int j;
int k;
int x=;
int y=;
int r=0;
for(i = 0; i < ; ++i){
for (j = 0; j < ; ++j){
fb_pixel(fb_inf, j, i, 0x050505);
}
}
while(r<=){
for(i=x+r;i>=x;i--){
for(j=y;j>=y-r;j--){
k=(x-i)*(x-i)+(y-j)*(y-j);
if(r*r>=k){
fb_pixel(fb_inf,i, j, buf32[i + j * ]);}
}
}
for(i=x-r;i<=x