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