หัดเล่น GIMP

เริ่มโพสต์โดย N, 01 ม.ค. 2008, 01:15 น.

0 สมาชิก และ 1 บุคคลทั่วไป กำลังเปิดอ่านโพสต์นี้

iannnnn

เฮ้ย เนียนขนาด :07:

ฟิ้งซ์

โคะ ทำได้ขนาดนั้นเลย :18:
ต๊กต๋าเปิ้นเป๋นดีไค่หัว ต๊กต๋าตัวเป๋นดีไค่ไห้

N

อนุบาลงาน Script-Fu
ตอนที่ ๑ - หัดภาษา Scheme

สำหรับคนที่ใช้ GIMP ในการทำอะไรบ่อยๆ แล้วหล่ะก็
คงอยากที่จะมีตัวช่วยทำให้เสร็จเร็วขึ้นสิครับ
น่าเสียดายที่ GIMP นั้นไม่มี Actions เพื่อให้เราสามารถ Record ได้
แต่ว่ามีอย่างอื่นที่สามารถนำมาใช้แทนได้ครับ
นั้นคือ Script-Fu ครับผม โดยเราใช้ภาษา Scheme ในการเขียนครับ

โดยสำหรับคนกำลังหัด ให้ไปที่เมนู Xtns -> Script-Fu -> Script-Fu Console



การใช้งานก็คือ ...... ใส่โค้ดลงไปครับ
แล้วผลลัพธ์ที่ออกมาจากโค้ดก็จะแสดงให้เห็นครับ

ภาษา Script-Fu ไม่เหมือนภาษาโปรแกรมทั่วๆ ไป

1. ชื่อฟังก์ชั่นนั้นอยู่ข้างใน!

        โดยปกติเวลาเราเขียนโค้ดต่างๆ อย่างเช่นภาษา C, PHP
หรือแม้แต่ภาษา CSS เรามักเอาชื่อฟังก์ชั่นไว้ข้างนอกวงเล็บครับ


  • functionname()
  • functionname(arg1, arg2, arg3)

        ภาษา Scheme นั้น ชื่อฟังก์ชั่นอยู่ข้างในวงเล็บนะครับ
ยกตัวอย่างเช่น:


  • (functionname)
  • (functionname arg1 arg2 arg3)

        เริ่มรู้สึกแปลกๆ รึยังครับ และสังเกตได้ด้วยว่า ไม่มี
เครื่องหมายคอมม่า ระหว่างฟังก์ชั่น กับค่าที่สงไป

2. เครื่องหมายบวก ลบ คุณ หารก็เป็นชื่อฟังก์ชั่นนะครับ

        ยกตัวอย่างเช่น ถ้าเราต้องการหาผลบวกของ 5 + 7
ปกติในภาษาโปรแกรมทั่วไป เครื่องหมายพวกนี้ถือเป็น Operator ครับ
แต่ว่าในภาษา Scheme เป็นฟังก์ชั่นครับ


  • (+ 5 7)

        ลองพิมพ์โค้ดข้างบนนี้ลงไปครับ ใน Console ครับ จะเห็นตัวเลข
12 ขึ้นมาแทนครับ แล้วถ้าเราต้องการทำ (5 + (8 * 5)) หล่ะครับจะทำยังไง...
ก็ทำอย่างงี้ไง!


  • (+ 5 (* 8 5))

        แล้วถ้าเราจะทำแบบว่า... เอ่อ.... 9 + 4 + (2 * 2 * 2) + 5 หล่ะครับ
ก็ไม่ยากครับ ทำแบบนี้


  • (+ 9 4 (* 2 2 2) 5)  :14:

        สำหรับโพสต์นี้ขอทิ้งคำถาม ง่ายๆ ก่อนแล้วกันครับ
อย่างน้อยก็ได้รู้ว่ายังมีคนเข้าใจคำที่ผมพูดอยู่ครับ :35:

        งั้น คำถามให้ลองคิด ก็คือ... มีสี่เหลี่ยม กว้าง 13 ยาว 14 จะใช้โค้ดอะไรในการคำนวน
พื้นที่ และัก็ เส้นรอบรูปครับ ลองคิดดูครับ
dt.in.thหัดเล่น GIMP<body style="filter:gray">


ยุนเอ



สำหรับขา Scheme

http://www.codenone.com/node/592

แนะนำ fivedots ลิงก์นะครับ  :27:
เราจะต้องการอะไรมากมายไปกว่า อะไรมากมาย

iannnnn

ตามเข้ามาบวกอย่างเดียวเลยครับ :32:

N

อนุบาลงาน Script-Fu
ตอนที่ ๒ - หัดภาษา Scheme ต่อ

จากข้อข้างบน คำตอบก็คือ


  • (* 13 14)  :14:
  • (+ (* 13 2) (* 14 2))  :14:

การประกาศตัวแปร

(let*
    (
        (ชื่อตัวแปร๑ ค่าเริ่มต้น)
        (ชื่อตัวแปร๒ ค่าเริ่มต้น)
    )
    (โค้ดการทำงานต่างๆ)
)
; (โค้ดข้างนอกจะไม่สามารถใช้งานตัวแปรใน let* ได้ครับ)


เช่น

(let* ( (ตัวเลข 5) ) (+ ตัวเลข 1) )

ครับ และเราก็สามารถแก้ไขค่าของตัวแปรนั้นๆ ได้ด้วย โดยใช้คำสั่ง

(set! ชื่อตัวแปร ค่า)

ตามตัวอย่างครับ:

(let* ( (กว้าง 13) (ยาว 14) (พื้นที่) ) (set! พื้นที่ (* กว้าง ยาว)) พื้นที่ )

ซึ่งเมื่อเรียงแล้วก็ได้ดังนี้ครับ

(let*
    (
        (กว้าง 13)
        (ยาว 14)
        (พื้นที่)
    )
   (set! พื้นที่ (* กว้าง ยาว))
   พื้นที่
)


หรือเ้ราจะทำแบบนี้ก็ได้

(let*
    (
        (กว้าง 13)
        (ยาว 14)
        (พื้นที่ (* กว้าง ยาว))
    )
   พื้นที่
)


คำถามทิ้งท้าย -- โค้ดต่อไปนี้จะให้ค่าออกมาว่าอะไรครับ ลองเดาๆ กันดูครับ  :52:

(let* ((ตัวเลข 1)(ตัวเลขที่สอง 3)) (set! ตัวเลข (+ ตัวเลข ตัวเลขที่สอง)) (set! ตัวเลข (* ตัวเลข ตัวเลข)) ตัวเลข)
dt.in.thหัดเล่น GIMP<body style="filter:gray">

BlueWings

ซู๊ดดดด หย้อดดดดดดดด  มากครับ... คุณ N  :45:

ว่าแต่... ที่เค้า บวกๆ กันนี่... ไปบวกตรงไหนครับ ?  :09:
ด้วยหัวใจเท่านั้น
ที่เราจะเห็นได้อย่างถ่องแท้ว่า
สิ่งสำคัญที่ไม่อาจเห็นได้ด้วยตา
คืออะไร
:Antoine de Saint-Exupery

Earthchie

อ้างคำพูดจาก: BlueWings เมื่อ 05 พ.ค. 2008, 01:00 น.
ซู๊ดดดด หย้อดดดดดดดด  มากครับ... คุณ N  :45:

ว่าแต่... ที่เค้า บวกๆ กันนี่... ไปบวกตรงไหนครับ ?  :09:

ยศยังไม่ถึงครับ เดี่ยวก็บวกได้ ใจเย็นๆ



เข้ามาชม แล้วออกไปแบบงงๆครับ  :30:
ชื่อ Earth ครับ เรียกเอิดก็ได้ | Earthchie's Blog

ณัฏฐ์

พึ่งเห็นจู๋นี้

น่าเล่นดีครับ  :46:+

ตอบข้อข้างบน 16 รึเปล่าครับ

ออยอิชี่

โปรแกรมเขาดีจริง
คน PR ก็สุดยอด  :12: +

Soris0ri

อ้างคำพูดจาก: N เมื่อ 07 ม.ค. 2008, 18:50 น.
Foreground Selection Tool
                       How to use it.

เป็นเครื่องมือเอาไว้เลือกบางส่วนของรูปครับผมโดยไม่ต้องค่อยๆ ลาก
ให้เสียเวลาครับผม เอาไว้เลือกส่วนที่สีต่างๆ กันครับ

นี่คือรูปต้นฉบับครับ


เลือกเครื่องมือ Foreground Selection Tool ครับ
ลากครอบรูปภาพเลยครับ


ต่อไป ลากทับส่วนที่สำคัญๆ ของรูปครับ
ไม่ต้องลากมากก็ได้ครับ


ส่วนที่เราเลือกมาแล้ว หากไม่พอใจยินดีคืนเงินกด Esc ครับ


แต่หากพอใจ กด Enter ครับผม จะได้ Selection ครับ


สุดยอดไหมล่ะครับ ไม่ต้องลากทีละส่วนๆ ให้เสียเวลาครับ
ระบบนี้ใช้เทคนิก SIOX (http://www.siox.org/) ในการเลือกรูปครับ

ชอบเทคนิกนี้  :07:  :25:
Las Noches Rubicundior

Heath

ถ้าสระไม่ลอย เดี๋ยวเราเจอกันแน่นอน

ปล. หัด Scribus ไปพร้อมกันในคราวเดียวดีไหมนะ
เช็ดดดดดดเม่น!

SMF 2.1.7 © 2026, Simple Machines