📄 00000003.htm
字号:
0xe0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f,\ <BR> 0x98, 0x19, 0x88, 0x11, 0x80, 0x01, <BR> 0x80, 0x01, 0x80, 0x01, 0x80, 0x01,\ <BR> 0x00, 0x00; <BR> <BR> 带有_x_hot和_y_hot的变数仅在热点被指定後才会包含进来。 <BR> <BR> 更多的细节包含在bitmap(1) 的指南页中,不过无论如何,你毋需直接以 <BR>此种格式处理位元映像,任何你想要做的事均有工具程式来处理。 <BR> <BR> <BR>14.3 编辑位元映像其它的方法 <BR> <BR> bitmap程式对於一个小的图形工作起来算是相当方便,但它有一些缺点: <BR> <BR> .它不接受较简单格式的输入档,例如像一些由扫描现存图形所产生的档案。 <BR> <BR> .它必需以交谈式执行,对一些程序性的编辑动作并不方便。 <BR> <BR> .你可能希望用它产生一些位元映像来显示,但它无法在非X系统上执行。 <BR> <BR> 要克服上述的问题,需要以字元图(character picture) 的形式来建立位 <BR>元映像,并提供这个格式和bitmap的格式相互转换的程式。字元图格式是非常 <BR>明显的:每一行的像素用一行的字元来表示,黑的像素用一个指定的字元(预 <BR>设为# )而白的像素用另一个字元(预设为 -)表示,以cntr_ptr为例,字元 <BR>图的格式如图14-3 <BR> <BR> ┌————————————————————┐ <BR> │ p164 fig 14.3 │ <BR> │ │ <BR> │ 图14-3 字元图格式的位元映像 │ <BR> └————————————————————┘ <BR> <BR> 你能以本文编辑器或其它任何系统上任何其它合适的程式编辑这些图形, <BR>也可以由扫描器(scanner) 或其它影像设备产生。 <BR> <BR> <BR> 14.3.1 字元图和X位元映像间的转换 <BR> <BR> X提供了两个程式作字元图格式和位元映像格式间的转换: <BR> <BR> atobm : 转换一个字元图为标准的位元映像。 <BR> <BR> bmtoa : 转换一个标准的位元映像为字元图。 <BR> <BR> 两个程式均允许你指定以何字元来代表黑和白像素。 <BR> <BR> <BR> <BR>14.4 定制你的根视窗 -- xsetroot <BR> <BR>xsetroot 让你设定你的根视窗的特徵,你可以改变视窗背景的颜色和图样( <BR>pattern) ,以及视窗所使用的游标。 <BR> <BR> 14.4.1 设定一个背景的位元图样 <BR> <BR> 你可以指定任何位元映像来当作你萤幕的背景(只要它是X的标准格式) <BR>, 在 xsetroot 的命令列上,-bitmap 选项跟随著位元映像的档案名称。例如: <BR> <BR> xsetroot -bitmap /usr/include/X11/bitmaps/mensetmanus <BR> <BR>会出现一个精致的背景(见图14-4)(拉丁语 Mens et Manus (mensetmanus) <BR>是 MIT的箴言,两个人物的图形简单表现出 MIT的精神。) <BR> <BR> ┌————————————————┐ <BR> │ │ <BR> │ P165 Fig 14.4 │ <BR> │ │ <BR> │图14 - 4 设定 mensetmanus位元 │ <BR> │ 映像为背景图样的根视窗 │ <BR> └————————————————┘ <BR> <BR> <BR> 14.4.2 设定一个背景游标 <BR> <BR>如果你不要使用预设的 "大的 X "游标,你可以用选项 -CURSOR 加上 <BR>cursorbitmap 和 maskbitmap两个引数来改变它,两个引数均为位元映像 <BR>档案的名称。例如:设定游标为前节所示的位元映像,使用命令: <BR> <BR> xsetroot -cursor /usr/include/X11/bitmaps/cntr_ptr\ <BR> /usr/include/X11/bitmaps/cntr_ptrmsk <BR> <BR>位元映像的对照图见图14-5. <BR> <BR> ┌————————————————┐ <BR> │ │ <BR> │ P166 Fig 14.5 │ <BR> │ │ <BR> │图14 - 5 游标及其遮罩的位元映像 │ <BR> └————————————————┘ <BR> <BR>maskbitmap决定了cursorbitmap的哪些像素真正被显示出来:游标像素 <BR>中只有对应到遮罩像素(mask)为黑的部份才会用到,游标其它的像素不会 <BR>被显示出来。总结来说,遮罩决定了游标的外形,反之,游标位元映像则 <BR>决定了外形的颜色。遮罩和游标的位元映像必须大小相同。 <BR> <BR>这种遮罩结构在两种情况下非常有用: <BR> <BR>1. 它允许 "乾净地" 显示出非长方形游标,而不需显示出多馀的空白。例如 <BR>如果没有遮罩,cntr_ptr会显示成一个 16 x 16白方形中有一个箭头,当你用 <BR>它指物件时,物件的一部份会被矩形外框遮盖住。 <BR> <BR>2. 适当地设定遮罩,你可以保证不论背景的颜色为何均能看得到游标。例如 <BR>cntr_ptrmsk 比 cntr_ptr 的边均大一个元素,所以游标周围围绕著一圈白边 <BR>。如果遮罩和游标大小相同的话,当游标在黑色的区域将会消失不见。 <BR> <BR> 你可以让遮罩和游标使用相同的位元映像:游标的外形会如你所期望(因 <BR>为遮罩决定外形,而这外形正是你想要的),它们可以工作,但是当游标进入 <BR>和它相同颜色的区域时,你就很难看到游标了。实际上,并非所有在 <BR>/usr/include/X11/bitmaps中的位元映像均有相对应的遮罩,如果你使用它们 <BR>当作游标,你必须使用游标位元映像当作遮罩。 <BR> <BR> 有兴趣的话,试一试把mensetmanus 当作游标和遮罩(热点是在左上角)。 <BR> <BR> <BR> 14.4.3 其它的背景设定选项 <BR> <BR> 你可以用命令列选项 -solid colour设定背景为单一颜色(在单色显示 <BR>器上只有黑色和白色)。你可以用 -grey或 -gray设定颜色的灰度,你也可以 <BR>用 -mod x y 设定格子图样,x 和 y为 1到16的整数。 <BR> <BR> <BR> 14.4.4 重定预设的背景和游标 <BR> <BR> 如果你不喜欢你既有的设定,你可以用下列两者之一恢复预设的游标和背 <BR>景: <BR> <BR> xsetroot -def <BR> xsetroot <BR> <BR> <BR>14.5 总结 <BR> <BR> 本章中,我们看到如何以交谈的方式编辑位元映像,如何储存它们,和如 <BR>何把它们与其它格式之间作转换以使它们能被那些非视窗系统程式处理。你可 <BR>以把位元映像和xsetroot连接在一起,以定制适合你自己口味的系统:用不同 <BR>的方法设定你根视窗的背景和变更游标。 <BR> <BR> 下一章,我们继续来定制系统,并且来看一下你用以设定X程式预设选项 <BR>的结构。 <BR> <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -