社区
C语言
帖子详情
求 读去bmp文件的tc源程序,谢谢
DreamingPig
2003-10-20 05:09:50
email:rockzhhj@163.com
...全文
41
2
打赏
收藏
求 读去bmp文件的tc源程序,谢谢
email:rockzhhj@163.com
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
0738111080
2003-10-20
打赏
举报
回复
看不懂
daizh
2003-10-20
打赏
举报
回复
/*--------------------256bmp.c----------------------*/
#include "dos.h"
#include "stdio.h"
#include "process.h"
#include "bios.h"
void selectpage(register char page) /*换页函数*/
{ union REGS r;
r.x.ax=0x4f05;
r.x.bx=0;
r.x.dx=page; /*选择页面*/
int86(0x10,&r,&r);
}
unsigned char set_SVGA_mode(int vmode) /*设置SVGA屏幕模式*/
{ union REGS r;
r.x.ax=0x4f02;
r.x.bx=vmode;
int86(0x10,&r,&r);
return(r.h.ah);
}
unsigned int get_SVGA_mode() /*获取当前SVGA屏幕模式*/
{ union REGS r;
r.x.ax=0x4f03;
int86(0x10,&r,&r);
return(r.x.bx);
}
void main()
{ char buffer[640],page_new=0,page_old=0;
int i,j,k,n,r,g,b,savemode;
long position,width,length;
FILE *fp;
puts("This is a 256 color bmp viewer! Author:WuJin");
puts("Input filename:"); /*输入要显示的BMP文件路径*/
gets(buffer);
if((fp=fopen(buffer,"rb"))==NULL)
{ printf("Can't open file: %s",buffer);
return;
}
fseek(fp,28,SEEK_SET);
fread(&i,2,1,fp);
if(i!=8) /*检查是否为256色位图*/
{ puts("Not a 256 color bitmap!");
fclose(fp);exit(0);
}
fseek(fp,18,SEEK_SET);
fread(&width,4,1,fp);
fread(&length,4,1,fp);
savemode=get_SVGA_mode(); /*先保存原来的屏幕模式*/
set_SVGA_mode(0x101); /*硬件无关性初始化屏幕为640*480 256色模式*/
fseek(fp,54,SEEK_SET);
for(i=0;i<256;i++) /*按照该图片的DAC色表设置色彩寄存器*/
{ b=fgetc(fp);g=fgetc(fp);r=fgetc(fp); /*获取R、G、B分量*/
outportb(968u,i);
outportb(969u,r>>2);
outportb(969u,g>>2);
outportb(969u,b>>2);
fgetc(fp);
}
k=(width%4)?(4-width%4):0; /*宽度修正值*/
for(j=length-1;j>=0;j--)
{ fread(buffer,width,1,fp);
for(i=0,n=0;i<width;i++,n++)
{ position=j*640l+i; /*计算要显示点的显存位置*/
page_new=position/65536l; /*计算显示页*/
if(page_new!=page_old) /*当显示页不同时更换页面,提高一定的输出速度*/
{selectpage(page_new);page_old=page_new;}
pokeb(0xa000,position%65536l,buffer[n]); /*写到显存位置*/
}
fseek(fp,k,SEEK_CUR); /*每行绘制完后修正宽度*/
}
fclose(fp);
bioskey(0);
set_SVGA_mode(savemode); /*恢复屏幕*/
}
数字信号处理实验报告
实验一图形为
TC
图形模式下保存所得
BMP
图像。实验二图形为MATLAB所得。均附有源
文件
。 对C语言源
文件
: 1. complex.h定义了复数的加减乘除运算的子程序,用于傅立叶变换 2. dsp.h定义了傅立叶变换及快速傅立叶变换的...
《C语言高级编程与实例剖析》源码
3.4
文件
分割程序 91 3.4.1 操作方法 91 3.4.2 源代码解析 91 3.4.3 运行结果 94 3.4.4 归纳总结 94 3.5
文件
合并程序 94 3.5.1 操作方法 94 3.5.2 源代码解析 95 3.5.3 运行结果 97 ...
C# MVC架构设计
本课程教大家设计一个完整的MVC功能,基本功能接近微软原生MVC框架,在某些方便提供更为强大的功能1.接管HttpModule,实现类似于原生mvc路由机制,对
文件
访问添加权限限制。2.定义控制器类,定义四种Action视图(View视图,Json视图,File视图,
Bmp
视图),可返还网页,json,
文件
和图片。3.实现类似原生MVC参数映射,包括复合模型的映射,参数直接写在Action中。4.实现ActionFilter,提供更为强大的Action控制功能,可完整控制Action执行链,不仅仅只提供个权限验证功能。5.实现动态视图,类似于Razor的语法,我们提供一个可返回对象到View视图中去渲染页面,这里使用html模板语法和动态编译。
c语言读取24位
bmp
图像,[原创]在
TC
下显示24位真彩色
BMP
位图
[原创]在
TC
下显示24位真彩色
BMP
位图在
TC
下显示24位
BMP
虽然在
TC
显示24位图像上的速度远远比不上256色的速度快,但是真彩色色彩带给我们的视觉上的冲击是256色远远不能达到的。我们今天就来仔细描述下我对24位位图的...
BMP
文件
初步使用笔记
BMP
文件
在c语言图形编程中,640*480+16色是极其常用的模式,具有足够的分辨率,且为大多数显卡所支持,下面将我最近在这一模式下使用16色
bmp
文件
的经验随手记下来(后来也扩展到了256色,不过以16色为基础):一.
BMP
...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章