`
javatar
  • 浏览: 1700338 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

图像快速载入

阅读更多
图像快速载入 
一秒内超快全屏图片保存和载入:

这是我在研究滚屏时的意外发现,也许被人也有过类似的发现,但是我觉得这太快了,所以决定发上来。保存:首先声明这几个变量,注意变量名称最好是一个字节,并将他们规定到现存。
1 A$="":B$="":C$="":D$="":E$="":F$="":G$="":H$=""
2 FOR I=1 TO 8
3 PO=2496+(I-1)*200
4 HI=INT(PO/256)
5 LO=PO-INT(PO/256)*256
6 POKE 49154+(I-1)*5,200
7 POKE 49155+(I-1)*5,LO
8 POKE 49156+(I-1)*5,HI
9 NEXT 然后以任何形式在屏幕上作图,然后把下面的保存代码作为子程序调用
1000 OPEN "DAT" FOR OUTPUT AS#1:CLOSE#1 //清空这一部很重要,要不第二次保存时数度相当慢
1005 OPEN "DAT" FOR RANDOM AS#1 LEN=100 //由于RANDOM文件最大长度只有128字节,所以我把他分成两个100的字节
1010 FIELD #1,100 AS I$
1020 LSET I$=LEFT$(A$,100):PUT#1,1:LSET I$=RIGHT$(A$,100):PUT#1,2
1030 LSET I$=LEFT$(B$,100):PUT#1,3:LSET I$=RIGHT$(B$,100):PUT#1,4 1040 LSET I$=LEFT$(C$,100):PUT#1,5:LSET I$=RIGHT$(C$,100):PUT#1,6
1050 LSET I$=LEFT$(D$,100):PUT#1,7:LSET I$=RIGHT$(D$,100):PUT#1,8
1060 LSET I$=LEFT$(E$,100):PUT#1,9:LSET I$=RIGHT$(E$,100):PUT#1,10
1070 LSET I$=LEFT$(F$,100):PUT#1,11:LSET I$=RIGHT$(F$,100):PUT#1,12
1080 LSET I$=LEFT$(G$,100):PUT#1,13:LSET I$=RIGHT$(G$,100):PUT#1,14
1090 LSET I$=LEFT$(H$,100):PUT#1,15:LSET I$=RIGHT$(H$,100):PUT#1,16
1100 CLOSE #1 保存成功,试试看,不到一秒。

载入:首先仍然声明这几个变量,注意变量名称最好是一个字节,并将他们规定到现存。
1 A$="":B$="":C$="":D$="":E$="":F$="":G$="":H$=""
2 FOR I=1 TO 8
3 PO=2496+(I-1)*200
4 HI=INT(PO/256)
5 LO=PO-INT(PO/256)*256
6 POKE 49154+(I-1)*5,200
7 POKE 49155+(I-1)*5,LO
8 POKE 49156+(I-1)*5,HI
9 NEXT 然后载入的原理和保存的原理相反
1005 OPEN "DAT" FOR RANDOM AS#1 LEN=100
1010 FIELD #1,100 AS I$
1020 GET #1,1:K$=I$:GET #1,2:LSET A$=K$+I$
1030 GET #1,3:K$=I$:GET #1,4:LSET B$=K$+I$
1040 GET #1,5:K$=I$:GET #1,6:LSET C$=K$+I$
1050 GET #1,7:K$=I$:GET #1,8:LSET D$=K$+I$
1060 GET #1,9:K$=I$:GET #1,10:LSET E$=K$+I$
1070 GET #1,11:K$=I$:GET #1,12:LSET F$=K$+I$
1080 GET #1,13:K$=I$:GET #1,14:LSET G$=K$+I$
1090 GET #1,15:K$=I$:GET #1,16:LSET H$=K$+I$
1100 CLOSE #1 试试看,还是用不到一秒。


注明一下,以上代码仅用于NC1020/CC880/CCC980
pc1000,pc100a,cc800的只需这样改
6 POKE 7661+(I-1)*5,200
7 POKE 7662+(I-1)*5,LO
8 POKE 7663+(I-1)*5,HI

 

图像显示究极方法:

下面是原代码:
1 REM Designed By WakuFlair 2002/12/21
10 A$=" ":B$=" ":C$=" ":D$=" ":E$=" ":F$=" ":G$=" ":H$=" ":GRAPH
20 FOR R=1 TO 100
30 X=INT(RND(1)*160):Y=INT(RND(1)*80)
31 A=INT(RND(1)*160):B=INT(RND(1)*80)
40 LINE A,B,X,Y:NEXT R
80 FOR R=1 TO 8:AD=7661+(R-1)*5:POKE AD,200:PO=2296+R*200
90 HI=INT(PO/256):LO=PO-HI*256
100 POKE AD+1,LO:POKE AD+2,HI
101 G$(R)="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA":G$(R)=G$(R)+G$(R)+G$(R)+G$(R)
120 NEXT R
121 LSET G$(1)=A$:LSET G$(2)=B$:LSET G$(3)=C$:LSET G$(4)=D$
122 LSET G$(5)=E$:LSET G$(6)=F$:LSET G$(7)=G$:LSET G$(8)=H$:BEEP:CLS
130 LOCATE 3,3:PRINT "按任意键恢复图像":Y$=INKEY$:GOSUB 160:END
160 LSET A$=G$(1):LSET E$=G$(5):LSET B$=G$(2):LSET F$=G$(6):LSET C$=G$(3):LSET G$=G$(7)
170 LSET D$=G$(4):LSET H$=G$(8):BEEP:RETURN

其实就是大量利用余海林的批量法
大家细看看最好下到星星里试试,效果惊人,
用这个方法显示动画都不闪烁,大家快用吧!


应TimberHare要求,把解释上提:
嗯,看来得说仔细点了.

如果大家玩过余海林的"小狗",会发现这个游戏在看完人物状态或战斗完后地图马上会显示出来而不像天之剑II那样一格格画出来.这就是利用了余海林自创的"批量法".详情可以去看由TimberHare收集并整理的GVBASIC精华中关于"批量法"的文章.
但是这个方法对应的是PEEK地址是704-803,也就是说只能显示ASCII码,所以原始的批量法对于现在有着精美的"画"出来的画面来说无能为力.
原因是因为在GVBASIC中,一个字符串变量最长只能是255,705-803有100个,汉字和图形能显示50个,所以一个变量就足够用了.但是图形缓存是从2496-4095(PC1000A),共1600个显然一个变量根本不够用.
于是聪明的我用了8个变量(A$ B$ C$...H$),每个控制200个。这样就可以控制屏幕上的非ASCII码的图像(当然ASCII也可以,不过理论上比控制字符缓存的慢,但是你看不出来)
这下知道用处了(如果还不知道,请用头撞碎显示器),就可以发挥大家的创意了.我提拱的程序只是小CASE,开始随机画100条线,然后清屏告诉你“按任意键回复,按一下刚才画的线就会一下子回复了!
如果想用文件保存图像就需要用随机存储了,不过在RANDOM模式下 LEN最多只让等于100,一个变量保存不下。不过方法很多,比如用16个变量,各变量的起始地址为AD=7661+(n-1)*5
速度超快,要不我怎么管他叫“极显法“呢,这下编WQX上的FLASH不是梦想了!
注:所提的所有地址只适用PC1000系列,不过只要能用“批量法“的型号都可用“极显法”

 
分享到:
评论
1 楼 javatar 2006-12-26  
现在想想,在Java里,这个就是
java.awt.image.BufferStrategy
呵呵。

相关推荐

    01图像的载入、显示、输出_hallfci_easy_图像_

    "01图像的载入、显示、输出_hallfci_easy_图像_"这个标题表明我们将讨论一个简单易用的图像处理方法,可能是一个教程或者库,旨在简化图像操作。"hallfci"可能是这个工具或方法的特定命名,而"easy"和"图像"标签则...

    OpenCV实现图像的载入,显示和输出(C++实现).zip

    在OpenCV库中,图像处理是其核心功能之一。...本项目提供的代码应该是一个基础起点,帮助初学者快速入门OpenCV的图像处理功能。为了进一步学习,建议查阅OpenCV官方文档,参与开源社区,以及练习更多实例来提升技能。

    vc++图像缩放的实现

    - 在图像缩放过程中,这种方法快速但可能导致图像质量下降。特别是,当图像包含精细的结构时,这种方法可能会引入明显的像素化或锯齿状边缘,因为相邻像素间的灰度变化无法平滑处理。 2. **双线性插值**: - 双线...

    【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析 - 【浅墨的游戏编程Blog】毛星云(浅墨)的专栏 - C

    【OpenCV入门教程之三】图像的载入,显示和输出一站式完全解析 在学习OpenCV的过程中,图像的载入、显示和输出是最基础的操作,它们是进行图像处理和计算机视觉算法的前提。本文将深入讲解如何使用OpenCV库在C++...

    图像频谱查看器 - 一款独立运行的用于查看图像频谱的小工具

    《图像频谱查看软件》提供了一种快速而轻便的图像频谱信息查看的功能,体积不到1M,无需安装,无需依赖巨大的各种工具箱或包,可在各类windows平台中快速运行。 软件具有界面简洁、全程鼠标操作、步骤简单等突出...

    云外归鸟的图像处理支持库

    9. 性能优化:可能采用了多线程、GPU加速等技术,使得处理大规模图像数据时能够快速响应。 10. 文档支持:提供详细的API文档和示例代码,帮助开发者快速上手并解决实际问题。 在实际开发中,使用"云外归鸟的图像...

    图像处理超快入门.pdf

    整体而言,图像处理包含了多个基础且核心的技术点,这仅仅是一个入门知识的快速概览。深入学习这些基础知识点,能够为更复杂的图像处理技术打下坚实的基础。通过掌握图像读取、显示、基本运算、几何变换、滤波和形态...

    ps载入切图神器实现快速切图

    "ps载入切图神器实现快速切图"这个主题涉及到的是利用Adobe Photoshop(简称PS)中的自动化功能来加速切图过程,这对于前端开发人员和UI设计师来说是一项必备技能。切图神器,通常是指一种自动动作(Action)集合,...

    ps载入动作

    Photoshop(简称PS)是一款广泛应用于图像处理和图形设计的专业软件,它的功能强大,能够进行各种复杂的图像编辑、合成...所以,如果你在图像处理上有重复性的需求,那么掌握如何载入和使用Photoshop动作是十分必要的。

    图像处理和图像识别中常用的OpenCV函数

    cvQueryFrame:用来将下一帧视频文件载入内存 - **功能**:从视频文件或摄像头捕获下一帧图像。 - **应用场景**:视频处理过程中,逐帧读取视频数据进行分析或处理。 #### 9. cvReleaseCapture:释放CvCapture结构...

    Watermark_2.rar_Lsb二值水印_不可见水印_图像 nc_图像文本水印_水印攻击

    (1)可以载入不同的载体图像和水印图像,但载体图像和水印图像在本软件中被限制为256色灰度图像,若要用其它图像甚至彩色图像,请修改源码。 (2)可以对含水印图像中的水印信息进行提取,提取时不需要原始图像。 ...

    imGrinder - 图像正则化工具

    本软件提供了快速磨皮功能,可用于制作卡通图像、美颜、图像去噪等应用。 本工具简洁、操作简单,支持中英文切换。软件无需特别操作,只需载入图像,设置磨皮的强烈程度,即可能流畅地完成本软件的全部功能。软件...

    halcon批量加载图像.rar

    在HALCON中,批量加载图像可以帮助用户快速预处理大量图片,进行模式识别或训练模型。 首先,我们来理解一下“批量加载图像”的概念。批量加载意味着一次性加载多张图像到内存中,而不是逐一加载。这在处理成百上千...

    完整版超级列表框载入图片(仿Windows浏览框的显缩略图).rar

    在Windows操作系统中,用户经常需要浏览大量的图片文件,而Windows自带的资源管理器提供了一种便捷的方式,即显示文件夹中的图片缩略图,以便快速预览。在编程领域,尤其是开发用户界面时,实现类似的功能可以提升...

    载入图标(loading)

    1. 动态图标:最常见的是动态GIF格式的载入图标,它们通过连续播放一系列图像来呈现动态效果,如旋转的圆圈、填充的进度条等。这些图标可以是简单的几何形状,也可以是定制的动画,如品牌标识或与网站主题相关的元素...

    图象的随机载入(11KB)

    在随机加载图像的情况下,资源管理涉及如何有效地存储和检索图像文件,确保它们在需要时能快速并正确地加载到控件中。 为了实现“图象的随机载入”,开发者可能会编写一个函数,该函数接收一个文件路径列表,然后...

    mfc载入图片方法

    这种方法最为直观,适合于快速原型开发或者对性能要求不高的场合。 ##### 方法2:通过设置背景图片 1. **图片资源加载**:同样地,先加载一张图片资源,ID设为`IDB_BITMAP2`。 2. **创建画刷对象**:在对话框类`...

    基于MATLAB的煤粒图像识别系统及其密度和产率的预测.pdf

    1. 图像采集:系统能够方便地载入、保存以及另存图像,确保了图像处理的高效性。 2. 图像预处理:通过自动识别图像中的煤粒,并用矩形框将其从背景中截取出来,转换为不同的图像中,底色变黑,便于后续特征参数的...

    让OpenCV显示在C#窗体上

    在IT领域,尤其是在计算机视觉和图像处理中,OpenCV是一个广泛使用的开源库。它提供了丰富的功能,用于图像处理、分析和机器学习。本教程将详细解释如何在C#窗体应用中集成OpenCV,以便利用IplImage对象显示图像。 ...

Global site tag (gtag.js) - Google Analytics