精华内容
下载资源
问答
  • 该资源提供了BMP格式图像转JPEG格式图像的函数,在数字图像处理后,进行图像输出时会用得到,非常方便。不依赖于其他框架,纯C语言实现。
  • 1:比如100 * 100像素的图片,它对角线应该有200个像素,还是141个像素? 2:100 * 100像素的BMP提取出来的像素点 有30000个还是40000个?我用以下代码提取的是40000个,分别是R,G,B和那个保留吗?还是其他什么? 3...
  • 大一刚学C++做的一个项目,...),于是找了多方资料,用了最底层的方法,根据bmp图片结构进行创建。程序采用了两种缩放方法,最邻近差值和双线性差值。个人觉得使用价值不大,但对bmp图像底层结构的学习还是有帮助。
  • C语言 实现两张图片的拼接

    千次阅读 2018-04-22 19:59:22
    这个代码的逻辑其实蛮简单的,就是用read()函数将对应的要拼接的部分,读入到一块儿缓存中(定义一个数组就行),最后用write()函数将切出来的对应的部分输出到要拼接的图片文件就大功告成。 值得注意的有两点...

    在Linux中用gcc编译

    这个代码的逻辑其实蛮简单的,就是用read()函数将对应的要拼接的部分,读入到一块儿缓存中(定义一个数组就行),最后用write()函数将切出来的对应的部分输出到要拼接的图片文件就大功告成。
    值得注意的有两点:1、图片在必须用.bmp格式
    2、注意你的电脑的图片扫描方式是由上往下的还是由下往上 的 , 这 点会导致输入缓存的部分,和输出到指定文件的位置会和预期的不一样

    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    
    int main()
    {
            int id1 = open("1.bmp", O_RDWR);
            if(-1 == id1)
            {
                    perror("error1~!");
                    return -1;
            }
    
            int id2 = open("2.bmp", O_RDWR);
            if(-1 == id2)
            {
                    perror("error2~!");
                    return -1;
            }
    
            int id3 = open("3.bmp", O_RDWR);
            if(-1 == id3)
            {
                    perror("error3~!");
                    return -1;
            }
    
            char buf1[500*444*3/2] = {0};
            char buf2[500*444*3/2] = {0};
    
            read(id2, buf2, sizeof(buf2));
            write(id3, buf2, sizeof(buf2));
    
            lseek(id1, sizeof(buf1), SEEK_SET);
            read(id1, buf1, sizeof(buf1));
            write(id3, buf1, sizeof(buf1));
    
            close(id1);
            close(id2);
            close(id3);
    
    }
    
    

    输出效果:
    这里写图片描述
    这里写图片描述
    这里写图片描述

    展开全文
  • Bmp2C-arry.rar

    2021-04-14 16:55:10
    Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...
  • 支持不同格式的图片,结果可以输出c语言数组、BMP、二进制等格式。
  • Image2Lcd图片处理工具

    2013-11-05 10:58:45
    Image2Lcd 能把各种来源的图片转换成特定的数据格式以用来匹配单片机系统所需要的显示数据格式 Image2Lcd支持的输入图像格式包括:BMP WBMP JPG GIF WMF EMF ICO 等等 Image2Lcd的输出数据类型包括定制的二进制类型 ...
  • Image2lcd(LCD图片取模工具)

    万次阅读 2017-05-31 00:41:30
    很多资料是看到的,大家可以参考下 Image2Lcd 是一款工具软件,它能使你把各种来源的图片转换成特定的数据...Image2Lcd的输出数据类型包括定制的二进制类型、c语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd...

    很多资料是看到的,大家可以参考下

    Image2Lcd 是一款工具软件,它能使你把各种来源的图片转换成特定的数据格式以用来匹配单片机系统所需要的显示数据格式。Image2Lcd支持的输入图像格式包括: BMP, WBMP, JPG, GIF, WMF, EMF, ICO, 等等。Image2Lcd的输出数据类型包括定制的二进制类型、c语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据保存的图像数据文件,Image2Lcd能重新打开作为输入图像。

    下载地址我删掉了,我是没想到做技术的连下载个开源软件都做不好,还抱怨链接捆绑软件~~~

    之后我尽量会把软件放到云盘里分享链接,不过这个事也是一个警示,做技术一定要自己多尝试~~~


     

    image2lcd使用总结

    开始学STM32显示图片,刚接触image2lcd,不会用,搞了几天,终于弄明白了

    image2lcd图片头文件信息:

    图片头数据的第2~5个字节表示宽和高,假设图片数组BMP_BUF[],高位在前时

    bmp_withd=(BMP_BUF[2]<<8)|BMP_BUF[3]

    bmp_lenth=(BMP_BUF[4]<<8)|BMP_BUF[5]

    第一个字节是扫描方式,低四位为0水平扫描,为1垂直扫描

    第二字节输出灰度0x04--16灰   0x18--24真彩色,0x10--16真彩色  0x20--32真彩色

    实验数据:

    1.输出灰度24位真彩色  输入180*240BMP图片  输出180*240   限制320*240   C语言数组   水平扫描  RGB565

    180*240    没有勾选 高位在前,自右至左扫描,自底至顶扫描

    180*240  高位在前

    180*240  高位在前,自右至左扫描

    180*240  高位在前,自右至左扫描,自底至顶扫描

    扫描方式        180       240

    2.1.输出灰度24位真彩色  输入图片320*226BMP图片       输出320*226 C语言数组   水平扫描  RGB565   限制320*240

    320*226   没有勾选 高位在前,自右至左扫描,自底至顶扫描

    320*226   高位在前

    320*226   高位在前,自右至左扫描

    320*226   高位在前,自右至左扫描,自底至顶扫描

    扫描方式         320        226

    2.2.  输出灰度24位真彩色  输入图片320*226BMP图片       输出320*226 C语言数组   垂直扫描  RGB565   限制320*240

    320*226  

    320*226  

    320*226  

    320*226  

    2.3.  输出灰度24位真彩色  输入图片320*226BMP图片   输出320*226 C语言数组   水平扫描  RGB565   限制240*320

    320*226    没有勾选 高位在前,自右至左扫描,自底至顶扫描

    320*226    高位在前

    320*226    高位在前,自右至左扫描

    320*226    高位在前,自右至左扫描,自底至顶扫描

    2.4. 输出灰度16灰  输入图片320*226BMP图片   输出320*226 C语言数组   水平扫描  RGB565   限制240*320

    320*226  

    320*226  

    3.输入JPG 480*340  输出24位真彩色,240*170  限制240*320  RGB565 水平扫描

    240*170   没有勾选 高位在前,自右至左扫描,自底至顶扫描

    240*170    高位在前

    240*170   高位在前,自右至左扫描

    240*170   高位在前,自右至左扫描,自底至顶扫描

     

     

     

    微信搜索“炫色Allen” 或者扫描下面二维码、关注,获取更多干货!

    展开全文
  • Image2LCD图片取模软件

    2012-11-25 01:06:33
    Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...
  • 首先打开一张640480的图片,然后用这个软件设置成480272的bmp输出,再将转换好的480*272图像载入转换成C语言数组形式,我这里使用高位在前,16bit像素输出,如果不对,会导致vga显示的图像颜色是乱的,样子正确。...

    在640X480的刷新率下显示480X272的图片,其中使用DDR2作为缓存介质;fpga为altera EP4CE30F23C6
    首先使用Image2Lcd软件将图片转成对应尺寸和RGB数组;具体步骤如下,下面是转换后的示例;

    具体代码://download.csdn.net/download/qq_36248682/12182562
    在这里插入图片描述
    打开一张640X480的图片,然后用这个软件设置成480272的bmp输出,再将转换好的480272图像载入转换成C语言数组形式,我这里使用高位在前,16bit像素输出,如果不对,会导致vga显示的图像颜色是乱的,样子正确。
    在这里插入图片描述
    在这里插入图片描述
    删掉首行和最后一行无关的,去掉所有的逗号和0x,最后如下
    在这里插入图片描述
    wps打开之后字数显示480X272*2=261120,转换正确;

    粘贴之前的图像数据,设置波特率,并使用Hex形式发送
    在这里插入图片描述
    发送之后显示器图像符合预期,在640X480的刷新率下,显示480X272的图片在这里插入图片描述
    整个模块的RTL视图如下:在ddr的写入和读出端加入FIFO缓冲,串口写入,vga输出;
    在这里插入图片描述

    展开全文
  • C程序中图片调用技巧

    千次阅读 2013-03-11 22:02:27
    C程序中图片调用技巧 摘要:介绍如何在C程序中调用图片,这将有助于加强C程序的界面的美观性. 关键词: VGA 、BMP、13h.h、TIMER.H、Logo。 一、问题的引入: C语言使用愈来愈普及,愈来愈深层次。Turbo C提供了更强...
     C程序中图片调用技巧
      摘要:介绍如何在C程序中调用图片,这将有助于加强C程序的界面的美观性.
      关键词: VGA 、BMP、13h.h、TIMER.H、Logo。
      一、问题的引入:
       C语言使用愈来愈普及,愈来愈深层次。Turbo C提供了更强的图形函数库,它支持微机CGA﹑EGA﹑VGA等多种图形适配器的各种图形模式,提供了绘制各种图形﹑输出各种字体的图形库函数,并具有丰富的对图形进行着色﹑填充的功能。在图形程序及软件的编制与开发中,Turbo C绘图已越来越受到广大用户的青睐。 Turbo C图形的实现是基于在Turbo C基本知识的基础上,在了解了这些之后,我们就可以运用基本作图函数来实现一些工作。但是Turbo C是基于DOS核心的,最多实现16种颜色的显示,所以实现的图形也是比较简单、单一的。而一些较复杂的图形,用Turbo C是无法实现的。但是我们可以通过另一种办法来实现,在C程序中调用图片,这样就可以省去了在C中绘制图形的麻烦,并且图片我们可以利用其他的工具进行更优化的处理。
      二、问题解决的方法:
       有了这个想法以后,马上查资料,在网上发现一个叫作《潜艇大站》的游戏,在里面有调用图片的功能,通过认真研究以后,终于分离出了这段代码。
      三、程序功能说明:
       在这段程序中,可以调用的图片格式为BMP。图片大小为:320*200。
      四、关键程序介绍:
       在主程序中调用了两个头文件,这两个头文件在C函数库中是没有的,其功能分别是:13h.h为VGA13h作图模式下的一些基本函数。timer.h为这个程序运行的时钟系统。在主程序中有三个子函数,分别为:StepIn(调色板渐入函数)、StepOut(调色板渐出函数)、Logo(显示开始画面函数)。在13h.h中包括的函数有Pset(向后台活动页写像素)、wait(等待键盘输入)、setmode(设置VGA 13H模式)、closemode(设置文本模式)、void setpal(设置调色板)、ScanKey(从键盘缓冲区内直接读出扫描码)、ClearScreen(画背景)、ReFresh(刷新屏幕)。在timer.h中包括的函数有:BiosTimer(获取BIOS计数器数值)、TimerEvent(时间事件)、CreateTimer(创建一个时钟)、KillTimer(删除一个时钟)、KillAllTimer(删除所有时钟)。
      五、程序清单:
      1.主程序:
      #include<stdio.h>
      #include<dos.h>
      #include<stdlib.h>
      #include"13h.h"
      #include"timer.h"
      int Step=0;
      BYTE PAL[256][3];
      void StepIn()
      {
       int i;
       for(i=0;i<256;i++) setpal(i,PAL[i][0]*Step/64,PAL[i][1]*Step/64,PAL[i][2]*Step/64);
       Step++;
       if (Step>64) KillAllTimer();
      }
      void StepOut()
      {
       int i;
       for(i=0;i<256;i++) setpal(i,PAL[i][0]*Step/64,PAL[i][1]*Step/64,PAL[i][2]*Step/64);
       Step--;
       if (Step<1) KillAllTimer();
      }
      void Logo()
      {
       FILE *bmp;
       int i,r,g,b,x,y;
       setmode();
       bmp=fopen("logo.bmp","rb");
       fseek(bmp,54,SEEK_SET);
       for (i=0;i<256;i++)
       {
       PAL[i][2]=fgetc(bmp)>>2;
       PAL[i][1]=fgetc(bmp)>>2;
       PAL[i][0]=fgetc(bmp)>>2;
       fgetc(bmp);
       setpal(i,0,0,0);
       }
       for (y=0;y<200;y++)
       for (x=0;x<320;x++) pokeb(0xa000,y*320+x,fgetc(bmp));
       fclose(bmp);
       CreateTimer(1,StepIn);
       while (ScanKey()!=57&&TimerUsed) TimerEvent();
       Step=64;
       StepIn();
       wait();
       CreateTimer(1,StepOut);
       while (ScanKey()!=57&&TimerUsed) TimerEvent();
       Step=0;
       StepOut();
       closemode();
       }
      void main()
      {
       Logo();
      }
      2.13h.h代码:
      # define BYTE unsigned char
      # define BOOL BYTE
      # define WORD unsigned int
      # define DWORD unsigned long
      # define TRUE 1
      # define FALSE !TRUE
      WORD FONT_SEG;
      WORD FONT_OFF;
      void far * Video;
      void GetFontAdd()
      {
       struct REGPACK regs;
       regs.r_bx=0x0300;
       regs.r_ax=0x1130;
       intr(0x10,&regs);
       FONT_SEG=regs.r_es;
       FONT_OFF=regs.r_bp;
      }
      void Pset(int x,int y,BYTE color)
      {
       if ((x>=0)&&(x<320)&&(y>=0)&&(y<200))
       *((BYTE far*)Video+y*320+x)=color;
      }
      void wait()
      {
       _AX=0;
       geninterrupt(0x16);
      }
      void setmode()
      {
       _AX=0x13;
       geninterrupt(0x10);
       GetFontAdd();
      }
      void closemode()
      {
       _AX=0x3;
       geninterrupt(0x10);
      }
      void setpal(int Color,BYTE r,BYTE g,BYTE b)
      {
       outportb(0x3c8,Color);
       outportb(0x3c9,r);
       outportb(0x3c9,g);
       outportb(0x3c9,b);
      }
      void locate(int Line,int Col
      )
      {
       _DH=Line;
       _DL=Col
      ;
       _AH=2;
       _BX=0;
       geninterrupt(0x10);
      }
      BYTE ScanKey(void)
      {
       int start,end;
       WORD key=0;
       start=peek(0,0x41a);
       end=peek(0,0x41c);
       if (start==end) return(0);
       else
       {
       key=peek(0x40,start);
       start+=2;
       if (start==0x3e) start=0x1e;
       poke(0x40,0x1a,start);
       return(key/256);
       }
      }
      void ClearScreen()
      {
       int x,y;
       for (y=0;y<5;y++) for (x=0;x<320;x++) Pset(x,y,16);
       for (y=5;y<10;y++) for (x=0;x<320;x++) Pset(x,y,104);
       for (y=10;y<15;y++) for (x=0;x<320;x++) Pset(x,y,33);
       for (y=15;y<20;y++) for (x=0;x<320;x++) Pset(x,y,103);
       for (y=20;y<25;y++) for (x=0;x<320;x++) Pset(x,y,32);
       for (y=25;y<30;y++) for (x=0;x<320;x++) Pset(x,y,64);
       for (y=30;y<40;y++) for (x=0;x<320;x++) Pset(x,y,99);
       for (y=40;y<60;y++) for (x=0;x<320;x++) Pset(x,y,97);
       for (y=60;y<100;y++) for (x=0;x<320;x++) Pset(x,y,53);
       for (y=100;y<200;y++) for (x=0;x<320;x++) Pset(x,y,2);
      }
      void ReFresh(void)
      {
       movedata(FP_SEG(Video),FP_OFF(Video),0xa000,0,64000);
      }
      3.timer.h代码:
      # define MAXTIMER 10
      struct TM
      {
       DWORD Interval; 
       DWORD LastTimer; 
       BOOL Enable; 
       BOOL Used; 
       void (*Pointer)(); 
      };
      struct TM tmTM[MAXTIMER+1];
      int TimerUsed=0;
      DWORD BiosTimer(void)
      {
       DWORD BIOSTIMER=0;
       BIOSTIMER=peek(0x0,0x46e);
       BIOSTIMER<<=8;
       BIOSTIMER+=peek(0x0,0x46c);
       return (BIOSTIMER);
      }
      void TimerEvent()
      {
       int i;
       DWORD TimerDiff;
       for (i=1;i<=MAXTIMER;i++)
       {
       if (tmTM[i].Used&&tmTM[i].Enable)
       {
       TimerDiff=BiosTimer()-tmTM[i].LastTimer;
       if (tmTM[i].Interval<=TimerDiff)
       {
       tmTM[i].Pointer();
       tmTM[i].LastTimer=BiosTimer();
       }
       }
       }
      }
      int CreateTimer(DWORD Interval,void (*Pointer)())
      {
       int i=0;
       if (TimerUsed==MAXTIMER) return NULL;
       while (tmTM[++i].Used);
       tmTM[i].Pointer=Pointer;
       tmTM[i].Interval=Interval;
       tmTM[i].Enable=TRUE;
       tmTM[i].Used=TRUE;
       tmTM[i].LastTimer=BiosTimer();
       TimerUsed++;
       return i;
      }
      void KillTimer(int *TimerID)
      {
       if (tmTM[*TimerID].Used)
       {
       TimerUsed--;
       tmTM[*TimerID].Used=FALSE;
       }
       *TimerID=0;
      }
      void KillAllTimer()
      {
       int i;
       for (i=0;i<=MAXTIMER;i++) tmTM[i].Used=FALSE;
       TimerUsed=0;
      }
    展开全文
  • image2lcd的输出数据类型包括定制的二进制类型、c语言数组类型和标准的bmp格式、wbmp格式。 image2lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。 对于包含了图像头...
  • 12864液晶图片取模软件

    热门讨论 2010-01-11 22:53:20
    增加了对单色.bmp文件的支持,可以从原有的bitmap文件上截取一部分作为点阵码数据 输出,点阵图案可以随意修改。 12。bitmap用户自建方案,可以先设定好图形的宽度和高度,然后用打开图形文件窗口下选 择取消,...
  • charimg.rar

    2021-02-25 17:34:52
    C语言实现BMP图片转字符画。提供两个函数接口库,可以选择命令行显示,或输出到文件。字符画还具有压缩功能,自定义后对于不等宽字体也可以实现友好显示。
  • C程序中图片调用技巧摘要:介绍如何在C程序中调用图片,这将有助于加强C程序的界面的美观性.关键词: VGA 、BMP、13h.h、TIMER.H、Logo。一、问题的引入: C语言使用愈来愈普及,愈来愈深层次。Turbo C提供了更强的图形...
  • 精彩作图

    2015-11-25 14:32:13
    这个代码产生的图形是PPM格式的,下面程序是C语言版本的,输出BMP格式的图片。 #include #include #include #define DIM 1024 #define DM1 (DIM-1) #define _sq(x) ((x)*(x)) // square #define _cb(x) abs((x
  • image2lcd V4.0

    2020-12-03 18:31:53
    在输入方面,它支持JPG、BMP、EMF、WBMP、GIF、ICO等多种格式图片的输入,输出的数据拥有二进制类型、WBMP格式、C语言数组类型和标准的BMP格式等多种类型。同时它还能将图象的数据扫描方式、亮度、对比度、灰度(颜色...
  • 取模软件image2lcd使用简介

    千次阅读 2020-12-03 14:19:42
    在输入方面,它支持JPG、BMP、EMF、WBMP、GIF、ICO等多种格式图片的输入,输出的数据拥有二进制类型、WBMP格式、C语言数组类型和标准的BMP格式等多种类型。同时它还能将图象的数据扫描方式、亮度、对比度、灰度(颜色...
  • 输出数据类型:二进制BIN文件、C语言数组C文件,BMP格式图片文件、WBMP格式、Sigmatel格式。能修改最大宽度和高度,修改包含图像头数据、调整输出图像亮度及对比度。设置扫描模式:水平扫描、垂直扫描、数据水平,...
  • image2lcd使用说明

    千次阅读 2020-06-16 21:53:59
    很多资料是看到的,大家可以参考下 Image2Lcd 是一款工具软件,它能使你把各种来源的...Image2Lcd的输出数据类型包括定制的二进制类型、c语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据...
  • Image2Lcd.exe

    2011-10-22 10:03:37
    Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...
  • Image2Lcd破解补丁

    2011-10-22 10:05:15
    Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...
  • Image2Lcd 2.9(破解版).7z

    2019-07-13 13:44:12
    Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...
  • Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...
  • Image2Lcd.zip

    2019-06-01 21:00:15
    然后选好自己的参数,点下重新载入,最后保存为.h格式就可以了,而且,image2lcd破解版支持JPG、BMP、EMF、WBMP、GIF、ICO等多种格式图片的输入,输出的数据拥有二进制类型、WBMP格式、C语言数组类型和标准的BMP格式...
  • Image2Lcd3.2破解版

    2013-05-10 11:06:30
    Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。 Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。 对于包含了图像头...
  • 位图转换工具Image2Lcd

    热门讨论 2012-03-19 17:42:10
    Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...
  • Image2Lcd 2.0

    2012-08-30 21:15:11
    Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...
  • MyImg2Lcd4.0破解版

    热门讨论 2009-07-23 19:27:41
    Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...
  • Image2Lcd的输出数据类型包括定制的二进制类型、C语言数组类型和标准的BMP格式、WBMP格式。Image2Lcd能可视调节输入图象的数据扫描方式、灰度(颜色数)、图像数据排列方式、亮度、对比度、等等。对于包含了图像头数据...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

c语言输出图片bmp

c语言 订阅