易码技术论坛

 找回密码
 加入易码
搜索
查看: 266837|回复: 9

一个关于显图的问题!!!

[复制链接]
发表于 2006-8-4 10:15:11 | 显示全部楼层
WriteBlock
原型 void WriteBlock(int x,int y,int width,int height,int type,addr data);

功能 把位图绘制到屏幕缓冲区

说明 在屏幕的(x,y)坐标处绘图,图的宽为width,高为height,图形的数据地址为data
    type的bit6为1时直接在屏幕上绘图。
        bit3为1时图形的所有点取反。
        bit2-0: 1:copy 2:not 3r 4:and 5:xor 6:透明copy(仅用于256色模式)
 楼主| 发表于 2006-8-4 10:18:09 | 显示全部楼层
举个例子吧!!
还是不太明白啊............
发表于 2006-8-4 11:06:36 | 显示全部楼层
这样的话需要三张图片的,,,
第一张是背景:  直接 WRITEBLOCK (。。。。1);
第二张是镂空:  就是要显示的图片的轮廓外是黑色,轮廓里全是白色
                然后 WRITEBLOCK(。。。。4);
第三张是要显示的图片
                WRITEBLOCK(。。。。。3);

不知看懂了没有?
 楼主| 发表于 2006-8-4 11:18:15 | 显示全部楼层
不管看懂没,先去试试....
谢谢各位了....
 楼主| 发表于 2006-8-5 15:29:23 | 显示全部楼层
貌似是要用到掩膜作图...........
发表于 2006-8-5 17:28:46 | 显示全部楼层
引用第5楼Isword2006-08-05 15:29发表的“”:
貌似是要用到掩膜作图...........

当然。。。
发表于 2006-8-8 14:48:56 | 显示全部楼层
这么多好东西啊!
以后一定常来看看。
顶一个先。
发表于 2006-8-8 19:43:49 | 显示全部楼层
显示背景透明的位图要两张图,第一张是需要变白的地方为白,其余黑,第二张就是正常的画,也可以理解为需要变黑的地方为黑,其余白,显示时第一张用与方式画,第二张用或方式画即可。
发表于 2006-8-18 22:53:06 | 显示全部楼层
1.把背景显示上去
2.把没有挡住的部分用参数4显示出来,图片掩模
3.正常的图片~
 楼主| 发表于 2006-8-4 09:54:26 | 显示全部楼层 |阅读模式
  怎么使两张8*8图片的图案重叠在一起? 后一张是前一张的背景 ,前一张部分透明 .
好象汇编的实现方法是先AND再XOR ,不知道LAVA里是怎么写的.
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2024-4-29 00:48 , Processed in 0.010486 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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