Article View: cn.bbs.comp.xwindow
Article #31�� �ףɣΣģϣף� ϵͳʹ��ָ��--(14)
From: �����ǡ�����������
Date: Fri, 02 Jan 1998 00:00
Date: Fri, 02 Jan 1998 00:00
284 lines
18287 bytes
18287 bytes
�ڣ����� �����ʹ��λԪӳ��
һ��λԪӳ����һ��Сͼ��˵�ø����һ�㣬һ��ͼ����������������ɣ�
������������һ��λԪ����Ӧ����λԪΪ��1 ��ʱ������Ϊ����ɫ������λ
ԪΪ��0 ��ʱ������Ϊ����ɫ�����������Ĺ��ó�ʽ������λԪӳ�����
���ò�ͬ�ķ������������༭�ʹ������ǡ���һЩʹ���߳�ʽ������ֱ��ʹ��
���ǡ�������ݵij�ʽ�����ڲ�����ʽʹ�����ǣ���Щ���ó�ʽ����
�س�ʽ���У�ʹ��ʹ����д��ʽʱ�����ױ�ɼ������á���
���¿�ʼ������λԪӳ��Ĺ��ߣ�������ʵ��ʹ��xsetroot��ʽ�������
���㶨�����өĻ���趨һ��λԪӳ��ı�����ѡ�����ɫ�ʺ�ָ��һ��λԪ
ӳ�����α���ʹ�á�
14.1 ϵͳλԪӳ���ʽ��
λԪӳ���ij�ʽ�ݱ�����ϵͳ��һ�����ṩ���㣬Ԥ�财�������Ŀ
¼��
/usr/include/x11/bitmaps
������Ĺ���վ�ϻ��?ͬ����һ�����ϵͳ��װ���ߣ����ǽ��Դ�Ŀ¼Ϊ��
�������е�һЩ������Ϊ���µġ���
14.2 ��̸ʽ�ر༭һ��λԪӳ�� -- bitmap
bitmap��ʽ��һ�������Խ�̸ʽ������༭λԪӳ��Ĺ��ߣ���λԪӳ
���Է���������ʾ��ÿһ�����Ӵ��һ�����أ�������û����趨��������ء�
14.2.1 ����bitmap
��bitmap����Ա༭һ������һ��λԪӳ��ĵ��������ͷ��ʼ����
һ��λԪӳ�����Ϊ�����������Ǻ��ߣ���������bitmapʱ������Ҫ��
һ��������ƣ��������ִ�ĵ��������½��ĵ�����
������һ���µ�λԪӳ��ʱ�������ѡ���Ե�ָ����С�����X ���ȸ���
�أ��������δָ����Ԥ���СΪ16X16 ��������˵������������Ҫ����һ��
�Ƚϴ�һ���ʮ������λӳ�����ǿ���������������У�
bitmap big-cross 40X50 &
14.2.2 ʹ��bitmap
��������Ҫ�༭һ���ִ�ĵ����������������������������ʽ��
bitmap /usr/include/x11/bitmaps/cntr-ptr
��һ����ͼ14-1���Ӵ�������өĻ�ϣ����½���ʵ�ʴ�С��ʾ��ĿǰλԪӳ��
��״̬����һ����Ϊ����(reverse) ��λԪӳ���������ұߵġ��С������
����������ť�ķ�ʽ���������ǡ�
����ť����༭ͼ����ķ�����
�趨���أ���һ������������������ť�������ǰ�ס��ť����ק��
ÿһ����������ط����ᱻ�趨��ֱ���ɿ���ťΪֹ��
������أ���������ͬ�ķ����������Ի����Ұ�ť���档
������ת(invert)���أ���һ�����������������а�ť��Ҳ���Ǻڵ����ر���
�������ر��趨�������㰴ס�а�ť����ק��������
�ظ��ᷴת��
��������������������������������������������
�� p160 fig 14.1 ��
�� ��
�� ͼ14-1 λԪӳ��༭�� ��
��������������������������������������������
bitmap�����������ò�������۲�ӽ��ͷ���϶˲��ݣ���ͼ14-2��
�Ŵ�ͼ��������������е�һ�������п�����һ��С���Σ��������ȵ�(hotspot)
����bitmap����������һ���α�ʱ��Ӧ�õ����ȵ����α��������ĵ㡣ָ��
�͵��α꣬�ȵ�ͨ���ڶ��ˣ���Բ�λ��ε��α꣬�ȵ��������ġ��������
��Set Hot Spot��Clear Hot Spot��������������ȵ��λ�û���ȥ��
�����������ĸ�Ķ���������������Write Output��λԪӳ������
�����������뿪bitmap��ʽ��
��������������������������������������������
�� p161 fig 14.2 ��
�� ��
�� ͼ14-2 һ���α�ġ��ȵ㡱 ��
��������������������������������������������
�뿪��ʽ������Quit�������༭��λԪӳ��ȴ��ͼ��δ����ǰ�뿪��ʽ��
�㽫��õ���ʾ��ȷ�����Ƿ���Ҫ�������
14.2.3 ����״(shapes)
bitmap���������ʹ�û�ͼ�����ף�
��һ���ߣ�����Line���α����һ����ڵ㣬��������ߵ�һ������
һ�°�ť����������һ��Ҳ����һ�£�bitmap�ử�������ߡ�
��һ���пյ�Բ������Circle��ͬ��أ��α���һ����ڵ㣬��������
��Բ��Բ������һ�£�����������Բ֮Բ���ϵ���һ������
һ�£�bitmap���������Բ��Բ�ܡ�
��һ�������Բ������Filled Circle ������ͬ�ϡ�
14.2.4 �ڳ����ε������ڹ���
����Clear Area��Set Area��Invert Area �����ڳ����������²�������
��������ľ�����ʽ������������Ͻ���ס�������ⰴť�ķ�ʽָ����Ȼ��
��ק�����½ǣ�������קʱ��Ŀǰ��ָ����������Ը�������ʾ��
����Կ������ƶ����ص�(overlay) һ������������ק�ķ�ʽָ��ԭʼ
��������Ŀ�������ϵ����Ͻ�������ť����������Ķ������£�
����(Copy)��Ŀ������ᱻ�������ж�Ӧ�ԭʼ����Ϊ�����ص�
��ᱻ�趨��
�ƶ�(Move)��ԭʼ�����Ŀ����������Ŀ�������Ӧ�ԭʼ��
��Ϊ�����صľ�ᱻ�趨��
�ص�(Overlay) ����Ŀ�������ж�Ӧ�ԭʼ�����趨�����ؾ�ᱻ
�趨������û�иı䡣
14.2.5 һ��λԪӳ��ĵ�����ʽ
һ��λԪӳ�����ͬASCII ����һ��浽�����У����ʽ����C ���Գ�
ʽƬ�Ρ�
���磺���� /usr/include/X11/bitmaps/cntr_ptr �����ݣ�
#define cntr_ptr_width 16
#define cntr_ptr_height 16
#define cntr_ptr_x_hot 7
#define cntr_ptr_y_hot 1
static char cntr_ptr_bits[]=
0x00, 0x00, 0x80, 0x01, 0x80, 0x01,\
0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07,
0xe0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f,\
0x98, 0x19, 0x88, 0x11, 0x80, 0x01,
0x80, 0x01, 0x80, 0x01, 0x80, 0x01,\
0x00, 0x00;
����_x_hot��_y_hot�ı�������ȵ㱻ָ����Ż�������
����ϸ�ڰ���bitmap(1) ��ָ��ҳ�У�����������Σ�������ֱ����
���ָ�ʽ����λԪӳ���κ�����Ҫ�����¾��й��߳�ʽ�����?
14.3 �༭λԪӳ������ķ���
bitmap��ʽ���һ��С��ͼ�ι������������൱���㣬������һЩȱ�㣺
������ܽϼ�ʽ�����뵵��������һЩ��ɨ���ִ�ͼ�������ĵ�����
��������Խ�̸ʽִ�У���һЩ�����Եı༭�����������㡣
�������ϣ���������һЩλԪӳ������ʾ���������ڷǣ�ϵͳ��ִ�С�
Ҫ�˷����������⣬��Ҫ����Ԫͼ(character picture) ����ʽ������λ
Ԫӳ���ṩ�����ʽ��bitmap�ĸ�ʽ�ת���ij�ʽ����Ԫͼ��ʽ�Ƿdz�
���Եģ�ÿһ�е�������һ�е���Ԫ����ʾ���ڵ�������һ��ָ������Ԫ��Ԥ
��Ϊ# �������������һ����Ԫ��Ԥ��Ϊ -����ʾ����cntr_ptrΪ����Ԫ
ͼ�ĸ�ʽ��ͼ14-3
��������������������������������������������
�� p164 fig 14.3 ��
�� ��
�� ͼ14-3 ��Ԫͼ��ʽ��λԪӳ�� ��
��������������������������������������������
�����Ա��ı༭���������κ�ϵͳ���κ�������ʵij�ʽ�༭��Щͼ�Σ�
Ҳ������ɨ����(scanner) ������Ӱ���豸����
14.3.1 ��Ԫͼ�ͣ�λԪӳ����ת��
���ṩ��������ʽ����Ԫͼ��ʽ��λԪӳ���ʽ���ת����
atobm : ת��һ����ԪͼΪ����λԪӳ��
bmtoa : ת��һ������λԪӳ��Ϊ��Ԫͼ��
������ʽ��������ָ���Ժ���Ԫ�����ںͰ����ء�
14.4 ������ĸ��Ӵ� -- xsetroot
xsetroot �����趨��ĸ��Ӵ������磬����Ըı��Ӵ���������ɫ��ͼ��(
pattern) ���Լ��Ӵ���ʹ�õ��αꡣ
14.4.1 �趨һ��������λԪͼ��
�����ָ���κ�λԪӳ����������өĻ�ı�����ֻҪ���ǣصı���ʽ��
�� �� xsetroot ���������ϣ�-bitmap ѡ�������λԪӳ��ĵ�����ơ����磺
xsetroot -bitmap /usr/include/X11/bitmaps/mensetmanus
�����һ�����µı�������ͼ14-4��(������ Mens et Manus (mensetmanus)
�� MIT�����ԣ����������ͼ�μ��ֳ� MIT�ľ���)
������������������������������������
�� ��
�� P165 Fig 14.4 ��
�� ��
��ͼ14 - 4 �趨 mensetmanusλԪ ��
�� ӳ��Ϊ����ͼ��ĸ��Ӵ� ��
������������������������������������
14.4.2 �趨һ�������α�
����㲻Ҫʹ��Ԥ��� "��� X "�α꣬�������ѡ�� -CURSOR ����
cursorbitmap �� maskbitmap�����������ı������������ΪλԪӳ��
��������ơ����磺�趨�α�Ϊǰ����ʾ��λԪӳ��ʹ�����
xsetroot -cursor /usr/include/X11/bitmaps/cntr_ptr\
/usr/include/X11/bitmaps/cntr_ptrmsk
λԪӳ��Ķ���ͼ��ͼ14-5.
������������������������������������
�� ��
�� P166 Fig 14.5 ��
�� ��
��ͼ14 - 5 �α꼰�����ֵ�λԪӳ�� ��
������������������������������������
maskbitmap������cursorbitmap����Щ����������ʾ�������α�����
��ֻ�ж�Ӧ����������(mask)Ϊ�ڵIJ��ݲŻ��õ����α���������ز���
����ʾ�������ܽ���˵�����־������α�����Σ���֮���α�λԪӳ����
���������ε���ɫ�����ֺ��α��λԪӳ������С��ͬ��
�������ֽṹ����������·dz����ã�
1. ������ "Ǭ����" ��ʾ���dz������α꣬������ʾ�����ŵĿհס�����
���û�����֣�cntr_ptr����ʾ��һ�� 16 x 16��������һ����ͷ��������
��ָ���ʱ�������һ���ݻᱻ��������ڸ�ס��
2. �ʵ����趨���֣�����Ա�֤���۱�������ɫΪ�ξ��ܿ��õ��αꡣ����
cntr_ptrmsk �� cntr_ptr �ı߾��һ��Ԫ�أ������α���ΧΧ����һȦ�ױ�
��������ֺ��α��С��ͬ�Ļ������α��ں�ɫ��������ʧ����
����������ֺ��α�ʹ����ͬ��λԪӳ���α�����λ�������������
Ϊ���־������Σ�����������������Ҫ�ģ������ǿ��Թ��������ǵ��α����
������ͬ��ɫ������ʱ����ͺ��ѿ����α��ˡ�ʵ���ϣ�����������
/usr/include/X11/bitmaps�е�λԪӳ��������Ӧ�����֣������ʹ������
�����α꣬�����ʹ���α�λԪӳ�������֡�
����Ȥ�Ļ�����һ��mensetmanus �����α�����֣��ȵ��������Ͻǣ���
14.4.3 ����ı����趨ѡ��
�������������ѡ�� -solid colour�趨����Ϊ��һ��ɫ���ڵ�ɫ��ʾ
����ֻ�к�ɫ�Ͱ�ɫ����������� -grey�� -gray�趨��ɫ�ĻҶȣ���Ҳ����
�� -mod x y �趨����ͼ��x �� yΪ 1��16������
14.4.4 �ض�Ԥ��ı������α�
����㲻ϲ������е��趨�����������������֮һ�ָ�Ԥ����α�ͱ�
����
xsetroot -def
xsetroot
14.5 �ܽ�
�����У����ǿ�������Խ�̸�ķ�ʽ�༭λԪӳ����δ������ǣ�����
�ΰ������������ʽ֮����ת����ʹ�����ܱ���Щ���Ӵ�ϵͳ��ʽ���?���
��λԪӳ���xsetroot������һ���Զ����ʺ����Լ���ζ��ϵͳ���ò�ͬ
�ķ����趨����Ӵ��ı����ͱ���αꡣ
��һ�£����Ǽ���������ϵͳ����������һ���������趨�س�ʽԤ��ѡ��
�Ľṹ��
=====
--
[m[1;32m�� ��Դ:���������� cs3.xmu.edu.cn��[FROM: 210.34.6.201][m
Technical Details
Message-ID:
<3MN4eQ$WTf@cs3.xmu.edu.cn>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: f71f9,5054485d7d788304,start X-Google-Attributes: gidf71f9,public From: wlf.bbs@cs3.xmu.edu.cn (�����ǡ�����������) Subject: �� �ףɣΣģϣף� ϵͳʹ��ָ��--(14) Date: 1998/01/02 Message-ID: <3MN4eQ$WTf@cs3.xmu.edu.cn> X-Deja-AN: 312056196 X-Filename: xwindow/M.883751834.A Organization: XMU CS BBS Newsgroups: cn.bbs.comp.xwindow