�@�ӳ�²�檺Script_Fu�Ghi.scm

 

�{�����D�n�[�c

l          ���{��hi.scm�ק��slime.scm�A�R�h�j�����{���X�C

l          ����[Gimp] -> Xtrns -> Script-Fu -> hi�|���ͥk��

l          �{���D�n�Ѩⳡ���ҥD�զ��G

    1��13��G�Hdefine��Ʃw�qscript-fu-hi��ơC

    15��26��G�Hscript-fu-register��ƦV��Ʈw���U��ơC

hi.scm���浲�G

 

l          �Hgimp-text-fontname��Ƽg�WHi!

l          �Hgimp-image-resize��ƱN�v���אּ�A���j�p�C

1:  (define (script-fu-hi text size font)

2:     (let* ((img (car (gimp-image-new 256 256 RGB)))

3:          (text-layer (car (gimp-text-fontname img -1 0 0 text 30 TRUE size PIXELS font)))

4:          (width (car (gimp-drawable-width text-layer)))

5:          (height (car (gimp-drawable-height text-layer)))

6:          )

7:          ;; Resize the image

8:           (gimp-image-resize img width height 0 0)

9:

10:        ;; display

11:        (gimp-display-new img)

12:     )

13:   )

14:

�`�N�A������

l          1��13��G�Hdefine��Ʃw�qscript-fu-hi��ơC�G��1�檺��1�ӥ��A���P��13�檺�k�A������C

l          15��26��G�Hscript-fu-register��ƦV��Ʈw���Uscript-fu-hi��ơC�G��15�檺��1�ӥ��A���P��26�檺�k�A������C

l          2��12��G�Hlet*��ƫŧi�ϰ��ܼƨèϥΥ��C�G��2�檺��1�ӥ��A���P��12�檺�k�A������C

l          2��6��G�ŧi�ϰ��ܼơA�ѩ�let*��ƻy�k�G(let* (variables) expressions)�A�G��2�檺��2�ӥ��A���P��6�檺�k�A������C

l          �Y�A�ۤv�gScheme���{���A�����`�N�A��������A�o�O�̮e���X�����a��C

15:   (script-fu-register "script-fu-hi"

16:                 "<Toolbox>/Xtns/Script-Fu/hi"

17:                 "Say hi..."

18:

19:                 "Modified by Samuel Li (sclee@eagle.ee.ntu.edu.tw)"

20:                 "Jean-Philippe Turcat (cmrjpt@soc.staffs.ac.uk)"

21:                 "04/21/2001"

22:                 ""

23:                 SF-STRING "Text String" "Hi!"

24:                 SF-ADJUSTMENT "Font Size (pixels)" '(72 2 1000 1 10 0 1)

25:                 SF-FONT "Font" "-*-ComicsCarToon-*-r-*-*-24-*-*-*-p-*-*-*"

26:   )

���b���̡H

l          ��16��G<Toolbox>���ܳo�O�@�Ӥ������v�������N�i���檺Script_Fu�A�۹��<Image>�C<Toolbox>���ܳoScript_Fu�{���bGimp�u�㲰����Xtrns��檺�l��椤�C

l          <Image>�����I�@�U�v���������ƹ��k��X�{�@���AScript_Fu�{���b�o��檺�l��椤�C

 

script-fu-register��ƪ��e7�ӰѼơG

1

Name

�A�ҭn���U����ƦW�١A����P�w���U����ƦP�W�C

Hi.scm�ҵ��U����ƦW�٬�

"script-fu-hi"

2

Location

���Ҧb����m�C

"<Toolbox>/Xtns/Script-Fu/hi"

3

Description

�H�@�q��r�y�z�A��script���\��C

"Say hi..."

4

Author

script���@�̪��m�W�C

"Modified by Samuel Li "

5

Copyright

���v�ŧi�C

"Jean-Philippe Turcat "

6

Date

Script�{���̫�@�����g�@��������C

"04/21/2001"

7

Type

�o��Script�{���ҳB�z���v������m�Ҧ��A��m�Ҧ���RGB�BRGBA�BGRAY�BINDEXED�BINDEXEDA�C

""

hi.scm�ۤv�|���ͤ@�Ӽv������A�G�o�ӰѼƬ��ťխȡC

 

About��ܲ�

About��ܲ�

l          17��21��G�bScript-Fu:hi��About��ܲ�������������ơC

l          �۷���script-fu-register��Ʋ�3�B4�B5�B6�ӰѼơC

 

script-fu-register��ƪ���8�ӰѼƻP���᪺�Ѽ�

��8�ӰѼƻP���᪺�ѼơA�����w�ӼơA�O�Ψӳ]�w�Ѽƿ�J��ܲ������ѼơC�Ѽƿ�J��ܲ�������Ƴ̫�ѵ��U��ơ]��1�ӰѼơ^�ұ����A�@�����U��ƪ���J�ܼơC

��8�ӰѼƻP���᪺�Ѽƨ�]�w���榡���GParam-type "Prompt text" "default value"�A�]�Ѽƫ��A "���ܤ�r" "�w�]��"�^�C�Ѽƫ��A�t�ܤF���U��ƪ���J�ܼƪ��ܼƫ��A�C

 

�Ѽƿ�J��ܲ�

l          23��25��G�bScript-Fu:hi���Ѽƿ�J��ܲ�������������ơC

l          �۷���script-fu-register��Ʋ�8�B9�B10�ӰѼơC

23��GSF-STRING "Text String" "Hi!"

l          SF-STRING�A���ܷ|�b�Ѽƿ�J��ܲ��W���ͤ@�Ӧr�ꪺ��r��J�ءC

l          "Text String"�A�����U��������r�C

l          "Gimp"�A����r��J�ؤ��w�]���r�ꬰGimp�C

24��GSF-ADJUSTMENT "Font Size (pixels)" '(72 2 1000 1 10 0 1)

l          SF-ADJUSTMENT�A�b��ܲ��W���ͤ@�ӥi�W�U�վ�j�p�Ȫ������C

l          "Font Size (pixels)"�A�����U��������r�C

l          '(72 2 1000 1 10 0 1)�A�r�Τj�p�w�]��72�B�̤p��2�B�̤j��1000�B�C���վ㱱���W�[��1�C

25��GSF-FONT "Font" "-*-ComicsCarToon-*-r-*-*-24-*-*-*-p-*-*-*")

l          SF-FONT�A�b��ܲ��W���ͤ@�Ӧr���]�w���s�A���U���s�i�Ұʳ]�w�r������ܲ��C

l          "Font"�A�����U��������r�C

l          "-*-ComicsCarToon-*-r-*-*-24-*-*-*-p-*-*-*")�A���w�]�r���AGimp���r���O�ϥ�X11���榡�C

��1��G(define (script-fu-hi text size font)

�ǥѹ�ܲ��ҿ�J���ѼơA�]�wscript-fu-hi�禡��text�Bsize�Bfont�o�T���ܼơC

OK���s�G

���U��ܲ���OK���s��AOK���s�U�誺��r��ܮؤ�����r�|�ֳt���ܡA����script-fu-hi��ƳQ�I�s�A�ǤJ�ܼƳ]�w�Ahi.scm�q��1�������13��C

��32��G(gimp-display-new img)

�q�X�̫᪺���G�A�z�����⪺Hi!�C

 

1

Name

�A�ҭn���U����ƦW�١A����P�w���U����ƦP�W�C

Hi.scm�ҵ��U����ƦW�٬�

"script-fu-hi"

2

Location

���Ҧb����m�C

"<Toolbox>/Xtns/Script-Fu/hi"

3

Description

�H�@�q��r�y�z�A��script���\��C

"Say hi..."

4

Author

script���@�̪��m�W�C

"Modified by Samuel Li "

5

Copyright

���v�ŧi�C

"Jean-Philippe Turcat "

6

Date

Script�{���̫�@�����g�@��������C

"04/21/2001"

7

Type

�o��Script�{���ҳB�z���v������m�Ҧ��A��m�Ҧ���RGB�BRGBA�BGRAY�BINDEXED�BINDEXEDA�C

""

hi.scm�ۤv�|���ͤ@�Ӽv������A�G�o�ӰѼƬ��ťխȡC

 

2���11��G

l          2: (let* ((img (car (gimp-image-new 256 256 RGB)))

���ͷs�v���j�p��256x256�BRGB�Ҧ��A�N�s�v���s�bimg�ܼƤ��C

l          3:(text-layer (car (gimp-text-fontname img -1 0 0 text 30 TRUE size PIXELS font)))

    ���ͷs��r�ϼh�A�N�s��r�ϼh�s�btext-layer�ܼƤ��C

l          4: (width (car (gimp-drawable-width text-layer)))

�ϥ�gimp-drawable-width�o���r�ϼh���e�רæs�bwidth�ܼƤ��C

l          5: (height (car (gimp-drawable-height text-layer) ))

    �ϥ�gimp-drawable-height�o���r�ϼh�����צs�bheight�ܼƤ��C

l          8: (gimp-image-resize img width height 0 0)

�N�v���אּ�A���j�p�C

l          11: (gimp-display-new img)

���ͤ@�v�������A�q�X�Ϥ��ӡC

 

DB Browser������ơG

�b���夤�A�\�h��ƪ��\��S�������M���A��ƪ��ѼƦp��]�w�����S�������C�@�������׳��bDB Browser���C

���ǪF��Цh��ҡA�ۦ��|�C

l          2: (let* ((img (car (gimp-image-new 256 256 RGB)))

���ͼv������ä��న�W�ϥ�gimp-display-new����ܼv���A�v������@�w�n���ϼh�~�঳�F��i��ܡC

gimp-layer-new�i���͹ϼh�C

 

l          3:(text-layer (car (gimp-text-fontname img -1 0 0 text 30 TRUE size PIXELS font)))

Gimp���r���O�ϥ�X11���榡�C

 

l          4: (width (car (gimp-drawable-width text-layer)))

 

����Odrawable�H

�N�O�ϼh�C

�@�Ӽv���i�Ѧh�ӹϼh�զ��A�{�b�Q��쪺�A�i�b��W�@�B�⪺�ϼh�٬�drawable�C

 

l          5: (height (car (gimp-drawable-height text-layer) ))

 

 

l          8: (gimp-image-resize img width height 0 0)

 

 

l          11: (gimp-display-new img)

�}�@�ӷs��������ܼv���C