易码技术论坛

 找回密码
 加入易码
搜索
查看: 192121|回复: 3

读bmp或dat

[复制链接]
发表于 2005-1-9 23:46:00 | 显示全部楼层
不想用poke?
你的意思是说整个程序中没poke?
如果图片显示不一点一点的poke,那就是用批量法了,照样要poke啊,莫不如要用汇编?
160x80的图片得分是PC上的还是WQX系统工具画出来的,bmp文件有3个地址会影响到2位图片是正常还是反色
WQX的是正常的,PC的是反色的
如果是WQX的可以从文件偏移量62开始读,并且读了文件的第一个20字节要想显存倒数20字节中poke,应该WQX里的图片要是放到显存中是上下倒过来的
bmp转换成代码的工具倒是有,可能在tgclc里,不过楼主要读bmp文件做什么?
如果没必要的话把图片按到正常模式(符合显存的模式)写到文件里用就好了,何必转换成bmp?
装换方法基本可以这样(最简单的方法却又是最慢的方法~)
10 INPUT "文件名:";F$
15 INPUT "导出文件名:";F2$
//PS:这里你可以使用GVBASIC+,他没有.dat的限制,或者根据机型将文件扩展名去掉
//nc 2k系列的扩展名地址是:35149--35152,默认是".DAT"
20 OPEN F$ FOR RANDOM AS #1 LEN=1
30 FIELD #1,1 AS IO$
40 IF LOF(1)<>1662 THEN PRINT "非WQX专用格式":END
50 GRAPH
60 FOR Y=79 TO 0 STEP -1
70 FOR X=0 TO 19 STEP +1
80 GET #1,62+Y*20+X
90 POKE 6592+(79-Y)*20+X,ASC(IO$)
100 NEXT:NEXT
110 CLOSE #1:OPEN F2$ FOR RANDOM AS #1 LEN=80
120 FIELD #1,80 AS IO$
130 FOR I=0 TO 19:IO$=""
140 FOR P=0 TO 79
150 IO$=IO$+PEEK(6592+I*80+P)
160 NEXT
170 PUT #1,1+I
180 NEXT
190 CLOSE #1:END
这样bmp里的图片就以显存中的形式保存到文件里了
GZCCCCCTV 该用户已被删除
发表于 2005-2-5 02:56:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-2-5 09:00:00 | 显示全部楼层
楼上有什么不对劲吗?
 楼主| 发表于 2005-1-9 13:32:29 | 显示全部楼层 |阅读模式
怎样用basic读160*80的bmp文件?

这很实用,却总找不到相关的软件。

如果不能读bmp,能把bmp 转换成basic代码也不错。不想用poke

您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-6-17 06:11 , Processed in 0.015348 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表