เทคนิคการเขียนกราฟิกบนเทอร์โบปาสคาล

เทคนิคการเขียนกราฟิกบนเทอร์โบปาสคาลเมื่อปีพ.ศ. 2535 ผมได้เริ่มต้นศึกษาภาษา pascal ครับ ซึ่งในสมัยนั้นกำหนดกันว่า หากใครอยากเรียนภาษา C ต้องผ่านภาษา pascal มาก่อน เพราะเขา เขาไหนก็ไม่รู้ว่ากันว่า ภาษา pascal เป็นภาษาโครงสร้างที่มีมาตรฐาน ใครก็ตามที่เรียนภาษา pascal ก็จะแน่นปึ้ก ๆ ในภาษาโครงสร้าง ซึ่งผมก็คิดว่าจริงนะ แต่บางคนอาจเถียงว่าไม่เห็นจำเป็นเลย ถ้าอยากศึกษาภาษาโครงสร้าง ก็โดดมาเรียนภาษา C ก่อนเลยก็ได้

ซึ่งถ้ามีใครพูดอย่างนี้ ผมก็จะบอกว่า เออจริง เพราะหลังจากผมผ่าน pascal มาแล้วมาเรียนภาษา C ก็พบว่าจริง ๆ แล้วถ้าเราเข้าอกเข้าใจภาษาโครงสร้างทางทฤษฎี เราก็แทบไม่มีความจำเป็นต้องมาเรียนภาษา pascal เล้ย

เล่าต่อ … ผมค่อนข้างก้าวหน้ากว่าใคร ๆ หน่อยนึงตรงที่ ในขณะที่ใคร ๆ ต่างพากันสนใจเขียน program ภาษา pascal เพื่อพิสูจน์ผลลัพท์ทางคณิตศาสตร์ แต่ผมกลับไปให้ความสนใจกับการเขียน program เพื่อแสดงผลทาง graphic แทน

ตอนนั้นผมให้ความสนใจเกมส์ mario มาก ๆ เลย ไอ้ตัวที่โดด ๆ เอาหัวชนก้อนอิฐนั่นแหล่ะ ตอนนั้นนะเกมส์นี้เล่นกันบนเครื่อง famicom ซึ่งสมัยนั้นขายกันเครื่องล่ะตั้งสามพันบาท แพงโคตร ๆ เลย

ทีนี้ในขณะที่คนรุ่นเดียวกับผมให้ความสนใจกับ video game เหล่านี้ แต่ผมกลับสนใจว่ามันทำได้ไงอ่ะ ทำไมถึงมีภาพสวย ๆ ไปแสดงผลที่จอภาพได้ แถมไอ้อุปกรณ์ joystick ที่ถืออยู่ในมือมันยังบังคับให้ภาพในจอเคลื่อนไหวได้ด้วย โหย ๆ ตื่นตะลึง

สุดท้ายผมถึงมารู้ว่า มันทำไอ้อะไร ๆ แบบนั้นได้ก็ด้วยการเขียน program computer นั่นเอง ซึ่งภาพต่าง ๆ ที่จะแสดงออกมาที่จอภาพได้ เราก็ต้องมีความรู้และทักษะในการเขียน program โดยเน้นไปที่กลไก graphic เป็นหลัก

ในสมัยนั้น หนังสือ computer ที่เกี่ยวกับ graphic มีน้อยมากกกกกกกกกกกกกก ๆ ครับ แบบว่าแทบจะหาที่เป็นภาษาไทยแทบไม่ได้เล้ย แล้วคนที่เพิ่งเข้าเรียน computer อย่างเรารึตอนนั้นก็อ่อนแอภาษาอังกฤษอย่างสุดขีด อีกทั้งก็ไม่รู้ด้วยว่ามี Text Book ขายที่ดวงกมลสยามสแควร์ ผมก็เลยต้องเสาะแสวงหาคัมภีร์ graphic อย่างหนักหน่วง สุดท้ายก็ได้เล่มนี้มาแหล่ะครับ

สมัยที่ผมได้หนังสือเล่มนี้มา บริษัท Microsoft ยังเพิ่งออก Microsoft Windows รุ่น 2.0 อยู่เลยครับ ตอนนั้นเรื่อง graphic นี่ห่างตัวมาก ๆ เลย เพราะใคร ๆ ก็ยังใช้ MS-DOS รุ่น 5.0 อยู่ ผมเห็น software ของเมืองไทยที่เน้นทางด้าน graphic ตอนนู้นมีอยู่แค่สองจ้าวคือ CU-Writer ซึ่งเป็น Word Processor ของจุฬาลงกรณ์มหาวิทยาลัยและ สหวิริยา word pressor ซึ่งเป็นของสหวิริยา

ก็มีแค่สองจ้าวนี่แหล่ะครับ ที่ใช้ feature ของ graphic มาสร้างเป็น software ส่วนจ้าวที่เหลือยังทำเป็น Text Mode อยู่เลย

ทีนี้หลังจากได้หนังสือเล่มนี้มาแล้ว ผมก็ตั้งหน้าตั้งตาอ่านใหญ่เลยครับ แล้วก็ฝึกฝนการเขียน graphic จนช่ำชองมาก ๆ เลย ตอนนั้นผมทำ library สำหรับแสดงผลภาษาไทยด้วยครับ เป็นภาษาไทยแบบ 1 ตัวอักษรกินพื้นที่ 20 bytes คือตอนนั้นยังไม่รู้จักเลยครับ font แบบ vector ที่ใช้อยู่ใน Microsoft Windows ทุกวันนี้ แถมสมัยนั้นมี font สองมาตรฐานด้วยนะ โดยมาตรฐานนึงเรียกว่ารหัสเกษตร อีกมาตรฐานนึงเรียกว่ารหัส สมอ. แบบว่าสองจ้าวนี้ก็ทะเลาะกันอยู่พักใหญ่ครับ สุดท้ายรหัสเกษตรแพ้ครับ ก็เลยต้องใช้รหัส สมอ. หรือที่เข้ารหัสในหน้า web ทุกวันนี้ที่เรียกกันว่า Windows-874 หรือ TIS-620 น่ะครับ

ภายหลังจากที่ Microsoft ปล่อย Microsoft Windows 3.0 ออกมา ทำให้ผมถอดใจไปเลยครับ เพราะไม่เคยคิดว่า Operating System มันจะมา Take Over ในเรื่องของการแสดงผล graphic แบบนี้ แถมให้หลังแค่สองสามปี Microsoft ยังปล่อย Microsoft Windows 3.0 Thai Edition ออกมาอีกต่างหาก

หลังจากนั้นผมก็เลยต้องทิ้ง Turbo Pascal ไว้เบื้องหลัง แล้วหันมาศึกษา Platform SDK เพื่อพัฒนา software บน Microsoft Windows นับตั้งแต่นั้นเป็นต้นมา

ส่วน CU-Writer ถึงจะทำการต่อสู้เพื่อความมีตัวตนของตัวเองต่อไป ด้วยการออก CU-Writer บน Windows แต่สุดท้ายก็โดนกระแทกหน้าหงายด้วย Microsoft Word 1.0 จน CU-Writer กลายเป็นโครงการอันแสนภาคภูมิใจของคนไทย ที่ตอนนี้กลายเป็นประวัติศาสตร์ที่ถูกทิ้งไว้เบื้องหลังนั่นเอง

Related Posts

4 thoughts on “เทคนิคการเขียนกราฟิกบนเทอร์โบปาสคาล

  1. ?????????????????????????????? pascal ???????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????? var begin end write(‘?’); ?????????????????????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????? c ???????????? ???????????????????????????????????????????????????????????????????????? (php ???????????? ?????????????????????????????????????????? c ?????????) ????????????????????????????????????? c ??????????????????? pascal ?????????????????????????????????????????? ????????????????????????????????? c ???????????????????????????????????? (???.??????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????)

    ???????????????????????????????????????????????????????????? ??????????????? os ?????????????????????????????? ??????????????????????????????????????????????????????????????? ??????????????????????????? (????????? os)?????????????????????????????????????????????????????????????????????????????????????????????

  2. :’-( ???????????????????????????????????????????????????????????????????????????????????????????????? software ???????????? ????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????

    ??????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????? ????????????????????????????????????????????????????????????????????????????

  3. อยากรู้ว่า การวาดเส้นกรอบแล้วมีข้อความอยู่ในกรอบนั้นด้วย
    จะสามารถทำได้อย่างไรคะ
    ขอเป็นคำสั่งและตัวอย่างด้วยค่ะ
    (ขอบคุณค่ะ)

  4. ตอบแทนเลยนะครับ การวาดกรอบอาจใช้คำสั่ง Rectangle พอเราจะพิมพ์ข้อความในกรอบ เราก็เพียงใช้คำสั่ง outtextxy กำหนดจุด xy ให้อยู่ในกรอบ ก็เป็นใช้ได้ครับ

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *