Page 42 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 42
12-32 การโปรแกรมคอมพิวเตอร์ข ั้นสูง
เมือ่ โปรแกรมจ าวาแ อพเพล็ตท ำ�การป ระมวลผ ลต ามค ำ�สั่งข ้างต น้ ไฟลร์ ปู ภาพจ ะถ กู โหลดล งในห น่วยค วามจ �ำ
ของเครื่องคอมพิวเตอร์แ ละพ ร้อมท ี่จะแ สดงผ ลร ูปภาพ
1.3 การแสดงรูปภาพ เมื่อเขียนคำ�สั่งการโหลดรูปภาพเรียบร้อยแล้ว ขั้นตอนต่อไปในการเขียนโปรแกรม
จาวาแ อพเพล็ตเพื่อแ สดงรูปภาพใช้เมธอด paint() และเมธอด drawImage() โดยที่เมธอด drawImage() ซึ่งเป็น
เมธอดประเภทก ราฟิก มีค ่าอาร์กิวเมนต์ (argument) จำ�นวน 4 ค่า รูปแ บบการเขียนค ำ�สั่งเป็นดังนี้
g.drawImage(myImage, x, y, this);
โดย
myImage คือ อิมเมจอ อบเจ็กต์ท ี่ใช้จ ัดเก็บรูปภาพ
x คือ ค่าเริ่มต้นของแกน X เพื่อใช้ก ำ�หนดจุดการแ สดงร ูปภาพ
y คือ ค่าเริ่มต้นของแกน Y เพื่อใช้กำ�หนดจ ุดการแ สดงร ูปภาพ
this คือ การร ะบุต ัวอ้างอิงข องแ อพเพล็ต
การเขียนป ระโยคคำ�สั่งเพื่อแ สดงภ าพท ี่มุมบนซ้ายของห น้าต่างแ อพเพล็ต เช่น
Image companyLogo = getImage (getDocumentBase(), "logo.gif");
g.drawImage(companyLogo, 0, 0, this);
ทั้งนี้ เมธอด drawImage() ที่กำ�หนดค่าอาร์กิวเมนต์ (argument) จำ�นวน 6 ค่า สามารถที่จะใช้กำ�หนด
ขนาดข องรูปภาพที่แสดงได้ และมีร ูปแ บบก ารเขียนค ำ�สั่งเป็นดังนี้
g.drawImage(myImage, x, y, width, height, this);
การกำ�หนดค่าความสูงและความกว้างของรูปภาพ ทำ�ได้โดยการใช้เมธอด getWidth() และเมธอด get
Height() ของค ลาสอ ิมเมจ ซึ่งทั้งสองเมธอดจ ะส่งคืนค่าเป็นค วามก ว้างและความสูงของรูปภาพ
ตัวอย่างก ารเขียนค ำ�สั่งเพื่อแ สดงร ูปภาพ companyLogo ที่จ ุดตำ�แหน่ง 0, 120 โดยการใช้ค วามก ว้างเต็ม
พื้นที่หน้าต่าง แต่ค วามส ูงน ้อยลงกว่า 100 พิกเซลของค วามสูงท ั้งหมด เป็นด ังนี้
g.drawImage(companyLogo, 0, 120, getWidth(), getHeight() – 100, this);
2. การเขยี นโปรแกรมจ าวาแอพเพล็ตเพ่ือแสดงภ าพและก ารใชง้ านคลาสอ มิ เมจ
การเขียนโปรแกรมจาวาแอพเพล็ตแสดงภาพ โดยไฟล์รูปภาพชื่อ images.jpeg มีขนาดความกว้างและ
ค วามสูงเท่ากับ 255 × 340 ดังแ สดงในภาพที่ 12.18 โดยกำ�หนดให้แ สดงภาพท ี่จุดแกน x = 100 และแ กน y = 30