ตัวอย่างของบทความนี้บอกวิธีที่ Java อ่านข้อมูล exif รูปภาพ แบ่งปันสำหรับทุกคนสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
ก่อนอื่นแนะนำสิ่งที่เป็น Exif รูปแบบนี้สามารถใช้ในการบันทึกข้อมูลแอตทริบิวต์ของภาพถ่ายดิจิตอลเช่นแบรนด์และรุ่นของกล้องเวลาถ่ายภาพของภาพถ่ายขนาดรูรับแสงความเร็วชัตเตอร์ ISO และชุดข้อมูลอื่น ๆ เมื่อถ่ายภาพ นอกจากนี้ยังสามารถบันทึกข้อมูลการถ่ายภาพและวิธีการจัดรูปแบบเพื่อให้สามารถส่งออกไปยังอุปกรณ์ต่อพ่วงที่เข้ากันได้กับรูปแบบ exif เช่นเครื่องพิมพ์ภาพถ่าย
ในปัจจุบันรูปแบบภาพที่พบบ่อยที่สุดที่รองรับข้อมูล EXIF คือ JPG สำหรับการแสดงภาพถ่าย บทความนี้ส่วนใหญ่แนะนำวิธีที่ภาษา Java อ่านข้อมูล exif ของภาพรวมถึงวิธีการปรับภาพตามข้อมูล EXIF เพื่อให้ผู้ใช้ต้องการเรียกดู
การประมวลผลข้อมูล EXIF ที่ง่ายที่สุดและใช้งานง่ายคือข้อมูลเมตาดาต้าที่เขียนโดย Drew Noakes คุณสามารถโดยตรงได้จาก http://www.drewnoakes.com/code/exif/ เพื่อดาวน์โหลดโครงการเวอร์ชันล่าสุดรวมถึงซอร์สโค้ด
ควรสังเกตว่าไฟล์ภาพ JPG ทุกไฟล์มีข้อมูล EXIF
Exiftester.java ดังนี้:
นำเข้า Java.io.File; .metadata.exif.exifdirectory;/*** ทดสอบข้อมูล exif ที่ใช้ในการอ่านรูปภาพ*@author ฤดูหนาว lau*/คลาสสาธารณะ exiftetter {โมฆะคงที่สาธารณะหลัก (strin g [] args) โยนข้อยกเว้น {ไฟล์ jpegfile = ไฟล์ใหม่ (ไฟล์ใหม่ "C: /1.jpg"); tag) tags.next ();เรียกใช้ผลลัพธ์:
[exif] Make -olympus Optical Co. , Ltd [exif] รุ่น -U10D, S300D, U300D [exif] การวางแนว -ท็อป, ด้านซ้าย (แนวนอน / ปกติ) [exif] ts ต่อนิ้ว [exif] y นิ้ว [exif] หน่วยความละเอียด -inch [exif] ซอฟต์แวร์ -22-1012 [exif] วันที่/เวลา -2005: 04: 14 13:47:10 [exif] ycbcr positing -datum point [exif] เวลาเปิดรับ -0.01 วินาที [ exif] f -number -f5.2 [exif] โปรแกรมการเปิดรับ -โปรแกรมสร้างสรรค์ (โปรแกรมช้า) [exif] การจัดอันดับความเร็ว ISO -80 [EXIF เวอร์ชัน [exif] วันที่] วันที่ /เวลาต้นฉบับ -2005: 04:14 13 : 47: 10 [exif] วันที่/เวลาดิจิทัล -2005: 04: 14 13:47:10 [exif] การกำหนดค่าส่วนประกอบ -ycbcr [exif] ค่าอคติการเปิดรับสัญญาณ -0 ev [exif] ค่ารูรับแสงสูงสุด -f3 .1 [exif ] โหมดการวัด -multi -segment [exif] แหล่งกำเนิดแสง -Offnown [exif] แฟลช -flash ไม่ได้ยิง, auto [exif] ความยาวโฟกัส ent- [exif] flashpix เวอร์ชัน -1.00 [exif] พื้นที่สี -srgb [exif] exif ความกว้างของภาพ -1024 พิกเซล [exif] exif ความสูงของภาพ -768 พิกเซล [exif] แหล่งที่มาไฟล์ -ดิจิทิลล์สติลรา (DSC) [exif] w indows xp ชื่อเรื่อง -scenery [exif] windows xp ผู้เขียน -ฝุ่นลม -คุณเป็นคนเดียว [exif] Windows XP Subject -my First [exif] กระบวนการที่ถูกเก็บรักษา -ปกติ [exif] โหมดการเปิดรับแสง -AUUTO Expo แน่ใจว่า [exif] สมดุลสีขาว -สมดุลสีขาวอัตโนมัติ [exif] อัตราส่วนซูมดิจิตอล -1 [exif] ประเภทการจับภาพฉาก -landscape [exif] Gain Control -none [exif] ความคมชัด -none [exif] ความอิ่มตัว] ความคมชัด -ไม่มี [exif] แท็กที่ไม่รู้จัก (0xc4a5) -80 114 105 110 116 73 77 0 480 2 -10 ... [exif] การบีบอัด -jpeg (เก่า -สไตล์) [exif] ภาพย่อ Offset -2022 ไบต์ [exif] ความยาวรูปย่อ -5864 ไบต์ [exifs [exifs [exifs] ข้อมูลภาพย่อ -[5864 bytes ของข้อมูล Thumbnail]
อ่านเฉพาะข้อมูลบางอย่าง:
การทดสอบแพ็คเกจ; .tag; นำเข้า com.drew.metadata.exif.exifdirectory;/*** ทดสอบข้อมูล exif ที่ใช้ในการอ่านรูปภาพ*@author ฤดูหนาว lau*/คลาสสาธารณะ picexif {สาธารณะคงที่ (สตริง [] args) JPEGFILE = ไฟล์ใหม่ ("C: /1.JPG"); (exifdirectory.tag_win_author) {system.out.println ("ผู้แต่งรูปคือ"+exif.getdescription (exifdirectory.tag_win_author),} ถ้า (exif.containstag (exifdirectory.tag_win_title) "+exif.getDescript (exifdirectory.tag_win_title));} ถ้า (exif.containstag (exifdirectory.tag_keywords) t.println (" คำหลักคือ "exif.getDescriptหวังว่าบทความนี้จะเป็นประโยชน์กับการออกแบบโปรแกรม Java ของทุกคน