易码技术论坛

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

关于Tc800里WriteBlock函数的错误

[复制链接]
发表于 2005-12-8 00:18:00 | 显示全部楼层
……

lava3.1取消了左右反转……
发表于 2005-12-8 09:21:00 | 显示全部楼层
LavaX3.1没有取消左右反转。

但是,从LavaX3.1起,左右反转成为隐藏功能,只在具备左右反转条件的机器上实现。由于tc800的屏幕特殊性,所以在tc800上不实现左右反转。
发表于 2005-12-8 09:23:00 | 显示全部楼层
特别提醒,作为过渡的lava2IDE不推荐使用,建议用LavaXIde3.1版替代。
 楼主| 发表于 2005-12-7 18:35:35 | 显示全部楼层 |阅读模式
WriteBlock
原型: void WriteBlock(int x,int y,int width,int height,int type,int data);
功能: 把位图绘制到屏幕缓冲区
说明: 在屏幕的(x,y)坐标处绘图,图的宽为width,高为height,图形的数据地址为data
      type的bit6为1时直接在屏幕上绘图。
            bit5为1时所画图形左右反转(要求图形宽度和x坐标都必须是8的整数倍)。
            bit3为1时图形反显。
            bit2-0: 1:copy 2:not 3r 4:and 5:xor
 

 
举例:

char fa[]={
0xff,0xe0,0x80,0x20,0xbb,0xa0,0x8a,0x20,
0x91,0x20,0xa0,0xa0,0xbb,0xa0,0x8a,0xa0,
0xba,0xa0,0xa0,0x20,0xbb,0xa0,0x8a,0xa0,
0x89,0x20,0xba,0xa0,0x80,0x20,0xff,0xe0};

void main()
{
    ClearScreen();
    WriteBlock(60,30,11,16,1,fa);
    WriteBlock(80,30,11,16,2,fa);
    WriteBlock(96,30,16,16,0x21,fa);
    Refresh();
    getchar();
}


WriteBlock(96,30,16,16,0x21,fa);
上面这句代码用lava2IDE编译出来的代码在TC800根本就没有左右反转的效果……
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2025-8-24 23:51 , Processed in 0.010063 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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