盐水兔子 发表于 2010-9-19 19:00

程序疑问

各位版主,大虾,我最近在做嵌入式Linux培训,今天给的课题是一副图像的特技显示,我给出一段我的程序,麻烦大家给改下的更为华丽点。此段程序只是将图像自左向右显现出来,图像信息1024*768,大家可以试着改为百叶窗显示或者别的。我个人C基础差不能完成,请大家帮帮忙,在线等。谢谢!
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include "common.h"
#define DEBUG 0
#if DEBUG
#endif
int display_jpeg(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);
if 0    int i, j;
      for(j = 0; j < fb_inf.w; ++j){
                for (i = 0; i < fb_inf.h; ++i){
                        fb_pixel(fb_inf, j, i, buf32);
            }
      usleep(200);
}
      free(buf24);
      free(scale_buf);
      free(buf32);
      return 0;
}

盐水兔子 发表于 2010-9-20 14:57

int i,j,k,p,m;
      for(i=0,j=fb_inf.h*1/4,k=fb_inf.h*2/4,p=(int)fb_inf.h*3/4;
         i<1/4*fb_inf.h,j<2/4*fb_inf.h,k<(int)3/4*fb_inf.h,p<fb_inf.h;i++,j++,k++,p++)
          {for(m=0;m<fb_inf.w;m++)
            {
            fb_pixel(fb_inf,m,i,buf32);
            fb_pixel(fb_inf,m,j,buf32);
            fb_pixel(fb_inf,m,k,buf32);
            fb_pixel(fb_inf,m,p,buf32);

                            }
百叶窗效果.

sinanjj 发表于 2010-9-20 17:08

记得dos程序经常搞这东西, 很久以前看过资料, 忘在哪了
页: [1]
查看完整版本: 程序疑问