| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 745 人关注过本帖
标题:请问,怎么把图片调进C里去,是什么函数??谢谢!!
只看楼主 加入收藏
江城小虾
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-6-2
收藏
 问题点数:0 回复次数:6 
请问,怎么把图片调进C里去,是什么函数??谢谢!!
谢谢!
搜索更多相关主题的帖子: 函数 调进 
2005-09-20 12:52
乌巴
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-9-20
收藏
得分:0 
用getimage这个函数

2005-09-20 20:42
江城小虾
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-6-2
收藏
得分:0 
不是的吧,getimage()是保存当前屏幕上的图象呀,
我想要的是怎么把Windows下的一个图象调进C里,使C的输出屏幕上显示出来!

我是一只小小小小虾,想要游呀游却游也游不快,我寻寻觅觅寻寻觅觅一个温暖的怀抱,终于让我找到了!!
2005-09-20 23:08
凌云
Rank: 1
等 级:新手上路
威 望:1
帖 子:78
专家分:0
注 册:2005-9-17
收藏
得分:0 
fopen()加上路径
然后用fclose()关闭

2005-09-21 10:32
bagger
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:33
帖 子:891
专家分:0
注 册:2005-8-16
收藏
得分:0 
o  
原来是按文件传的啊!

【三元毕业设计论文】
三元论文真的只有三元钱
客服QQ:742670649
http://shop35094218./
2005-09-21 14:21
029
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-8-26
收藏
得分:0 

不行的啊 看看啊 注意: 1。tc支持16色,所以所读的图片要是16色图片 2。图片的的存放是从最后一行开始的,倒过来存放的 3。每行的字节数是4的倍数

#include "stdio.h" #include "graphics.h" #include "alloc.h" #include "stdlib.h" #include "math.h"

typedef struct tagBITMAPFILEHEADER { unsigned int bfType; unsigned long bfSize; unsigned int bfReserved1; unsigned int bfReserved2; unsigned long bfOffBits; }BITMAPFILEHEADER;

typedef struct tagBITMAPINFOHEADER { unsigned long biSize; long biWidth; long biHeight; unsigned int biPanes; unsigned int biBitCount; unsigned long biCompression; unsigned long biSizeImage; long biXPelsPerMeter; long biYPelsPerMeter; unsigned long biClrUsed; unsigned long biClrImportant; }BITMAPINFOHEADER;

typedef struct tagRGBQUAD { unsigned char rgbBlue; unsigned char rgbGreen; unsigned char rgbRed; unsigned char rgbReserved; }RGBQUAD;

typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[]; }BITMAPINFO;

int xmax; int ymax;

void InitGraph() { int mod=EGA; int dr=EGAHI; initgraph(&mod,&dr,""); xmax=getmaxx(); ymax=getmaxy(); }

void CloseGraph() { closegraph(); }

void Exit(char *ErrorCode) { printf("%s",ErrorCode); getch(); exit(0); }

long WidthBytes(long Width,int BitCount) { long WBytes; WBytes=(Width*BitCount+31)/8; WBytes=WBytes/4*4; return WBytes; }

unsigned char SetPalette(int Colors,unsigned char data) { switch(Colors) { case 16: switch(data) { case 1: return 4; case 4: return 1; case 3: return 6; case 6: return 3; case 9: return 12; case 12: return 9; case 11: return 14; case 14: return 11; default: return data; } case 2: if(data==1) return 15; else return 0; } }

void main() { long i,j; long WBytes; int Colors; long Height,Width; FILE *fp; void *Temp=NULL; BITMAPFILEHEADER bfh; BITMAPINFOHEADER bih; unsigned char SrcData,data; InitGraph(); if((fp=fopen("pic1.bmp","rb"))==NULL) { Exit("Can Not Open The File.\n"); } fread(&bfh,sizeof(BITMAPFILEHEADER),1,fp); if(bfh.bfType!='M'*256+'B') { Exit("This Is Not A Bmp File.\n"); } fread(&bih,sizeof(BITMAPINFOHEADER),1,fp); Height=bih.biHeight; Width=bih.biWidth; WBytes=WidthBytes(Width,bih.biBitCount); Colors=1<<bih.biBitCount; if(!(Colors==16||Colors==2)) { Exit("This Programme Only For 16 Colors Bitmap.\n"); } fread(Temp,sizeof(RGBQUAD),Colors,fp); printf("%d %d",'\f','\t'); for(i=Height-1;i>=0;i--) { fseek(fp,54+Colors*sizeof(RGBQUAD)+i*WBytes,SEEK_SET); for(j=0;j<Width;j++) { switch(Colors) { case 16: if(j%2==0) { fread(&SrcData,1,1,fp); data=SetPalette(Colors,SrcData/16); putpixel(j,Height-1-i,data); } else { data=SetPalette(Colors,SrcData%16); putpixel(j,Height-1-i,data); } break; case 2: if(j%8==0) { fread(&SrcData,1,1,fp); data=SetPalette(Colors,(SrcData>>7)%2); putpixel(j,Height-1-i,data); } else { data=SetPalette(Colors,(SrcData>>(7-j%8))%2); putpixel(j,Height-1-i,data); } } } } getch(); CloseGraph(); }


2005-09-21 16:57
gefenduo
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-9-30
收藏
得分:0 
2005-10-04 10:36
快速回复:请问,怎么把图片调进C里去,是什么函数??谢谢!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032522 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved