Page 40 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 40

12-30 การ​โปรแกรมค​ อมพิวเตอร์ข​ ั้น​สูง

เรือ่ งท​ ี่ 12.2.1
การ​จดั การร​ ปู ภาพ

       โปรแกรม​จาวา​แอพเพล็ต​ได้​ถูก​ออกแบบ​มา​สำ�หรับ​การ​เขียน​โปรแกรม​แสดง​ภาพ​หรือ​อิมเมจ (image) โดย​
ไฟล์​รูปภาพ​สามารถด​ าวน์โหลด (download) บน​ระบบ​อินเทอร์เน็ตไ​ด้เ​ช่นเ​ดียว​กับไ​ฟล์ข​ ้อมูล (data file) และภ​ าษา​
จาวา​ทุก​รุ่น​หรือ​เวอร์ชัน (version) สนับสนุน​การเ​ขียนโ​ปรแกรม​จัดการ​ไฟล์​รูปภาพช​ นิดพ​ ื้น​ฐาน ดังนี้

       -	 ไฟล์​รูปภาพ​ชนิด JPEG หรือ JPG (Joint Graphics Expert Group) คือ ไฟล์​รูปภาพ​ที่​มี​นามสกุล​
หรือ​ส่วน​ขยาย​ชื่อ​ไฟล์​เป็น .jpg หรือ .jpeg ไฟล์​รูปภาพ​ชนิด​นี้​มี​คุณสมบัติ​การ​บีบ​อัด​ขนาด​ของ​ไฟล์​ได้ ไฟล์​ชนิด
JPEG ​ใช้​สำ�หรับ​จัดเ​ก็บ​ภาพ​ที่​ถ่าย​จากธ​ รรมชาติ และ​ไม่เ​หมาะก​ ับ​การจ​ ัดเ​ก็บภ​ าพ​ที่ไ​ม่ใช่​ภาพถ่าย​จาก​ธรรมชาติ เช่น
ภาพก​ าร์ตูน เป็นต้น

       -	 ไฟล์​รูปภาพ​ชนิด GIF (Graphics Interchange Format) คือ ไฟล์​รูปภาพ​ที่​มี​นามสกุล​หรือ​ส่วน​ขยาย​
ของช​ ื่อ​ไฟล์​เป็น .gif มี​วิธี​การ​จัด​เก็บ​ไฟล์ร​ ูปภาพแ​ บบ​บีบ​อัด​คล้าย​กับ​ไฟล์ช​ นิด JPEG ไฟล์​ชนิด GIF  ​ไม่​เหมาะก​ ับ​
ภาพถ่าย แต่​สามารถ​ใช้ได้​เหมาะ​สมก​ ับภ​ าพ​การ์ตูน และ​มีค​ ุณสมบัติ​พิเศษ​ใน​การ​สร้าง​ภาพ​เคลื่อนไหว​ได้ เรียก​ว่า Gif
Animation

       -	 ไฟล์​รูปภาพ​ชนิด PNG (Portable Network Graphic) คือ ไฟล์​รูปภาพ​ที่​มี​นามสกุล​หรือ​ส่วน​ขยาย​ของ​
ชื่อ​ไฟล์​เป็น .png เป็น​รูป​แบบ​ของ​ไฟล์​ภาพ​ที่​ต้องการ​ความ​คม​ชัด​สูง สามารถ​แสดง​ผล​ได้​ใน​ระบบ​สี​เต็ม​พิกัด (true
color) ไฟล์​ชนิด​นี้​มี​ขนาด​เล็ก สามารถค​ วบคุม​คุณภาพไ​ด้​ตาม​ที่​ต้องการ มี​การ​กำ�หนดใ​ห้​พื้น​ภาพ​เป็น​พื้น​โปร่งใสไ​ด้
(transparent)

       ภาษา​จาวา​บาง​รุ่น​สามารถ​เขียน​โปรแกรม​เพื่อ​จัดการ​กับ​ไฟล์ร​ ูปภาพ​ชนิดอ​ ื่น ๆ ได้​เช่น​กัน เช่น ไฟล์ร​ ูปภาพ​
ชนิด BMP, TIFF หรือ TIF, TGA เป็นต้น แต่​การนำ�​โปรแกรม​ไป​ใช้​อาจจ​ ะไ​ม่​สามารถใ​ช้​งาน​ได้​ใน​ทุกแ​ พลตฟอร์ม
(platform)

1. 	การ​ใช้ง​ าน​คลาสอ​ ิมเมจ​ของแ​ พ็ก​เกจเ​อด​ บั เบิลย​ ​ูที

       การเ​ขียนโ​ปรแกรม​จาวาแ​ อพเพล็ต​เพื่อแ​ สดงร​ ูปภาพ สามารถใ​ช้ค​ ลาสอ​ ิมเมจ (image class) ของ​แพ็กเ​กจ
AWT ซึ่ง​ประกอบ​ด้วย 3 ขั้น​ตอน ได้แก่ การ​สร้าง​ออบ​เจ็กต์​ของ​คลาส​อิมเมจ​เป็น​ยู​อาร์​แอลออบ​เจ็กต์ (URL หรือ
uniform resource locator object) เพื่อใ​ชส้​ ำ�หรับก​ ารร​ องรับต​ ำ�แหน่งท​ ีจ่​ ัดเ​ก็บไ​ฟลร์​ ูปภาพ ขั้นต​ อนก​ ารโ​หลดร​ ูปภาพ​
และข​ ั้น​ตอนก​ าร​แสดงผ​ ลร​ ูปภาพ มีล​ ำ�ดับด​ ังนี้

       1.1		การ​สร้าง​ออบ​เจ็กต์​ของ​คลาส​อิมเมจ เป็นการ​ใช้​คลาส​อิมเมจ​ซึ่ง​เป็น​คลาส​นามธรรม (abstract class)
จะ​ต้อง​สร้าง​ออบ​เจ็กต์​ไว้​ก่อน​การ​ใช้​เมธอด เพื่อ​โหลด​รูปภาพ ใน​การ​สร้าง​ออบ​เจ็กต์​ของ​คลาส​อิมเมจ​มี​ราย​ละเอียด​
การ​ใช้​เมธอดด​ ังนี้

            1)		เมธอด getDocumentBase() ใช้เ​มื่อไ​ฟล์ร​ ูปภาพแ​ ละไ​ฟล์เ​อชท​ ีเ​อ็มแ​ อล (HTML document) ถูก​จัด​
เกบ็ ไ​วใ​้ นไ​ดเรกทอรี (directory) เดยี วกนั หรอื ​ไฟลร​์ ปู ภาพจ​ ดั เ​กบ็ ไ​วท​้ ไี​่ ดเรกทอรย​ี อ่ ย (sub directory) ของไ​ดเรกทอร​ี
ที่​จัดเ​ก็บ​ไฟล์ html ก็ได้ เพราะก​ าร​ทำ�งานข​ องเ​มธอด​นี้​จะ​ส่ง​คืนค​ ่า (return) ตำ�แหน่งท​ ี่​อยู่​หรือย​ ู​อาร์แ​ อล​ที่​ใช้​จัดเ​ก็บ​
ไฟล์ html
   35   36   37   38   39   40   41   42   43   44   45