Cordova - กล้องถ่ายรูป
ปลั๊กอินนี้ใช้สำหรับถ่ายภาพหรือใช้ไฟล์จากแกลเลอรีรูปภาพ
ขั้นตอนที่ 1 - ติดตั้งปลั๊กอินกล้อง
เรียกใช้รหัสต่อไปนี้ในไฟล์ command prompt หน้าต่างเพื่อติดตั้งปลั๊กอินนี้
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugincamera
ขั้นตอนที่ 2 - การเพิ่มปุ่มและรูปภาพ
ตอนนี้เราจะสร้างปุ่มสำหรับเรียกกล้องและ imgที่จะแสดงภาพเมื่อถ่ายแล้ว สิ่งนี้จะถูกเพิ่มในindex.html ข้างใน div class = "app" ธาตุ.
<button id = "cameraTakePicture">TAKE PICTURE</button>
<img id = "myImage"></img>
ขั้นตอนที่ 3 - การเพิ่ม Listener เหตุการณ์
ตัวฟังเหตุการณ์จะถูกเพิ่มเข้าไปในไฟล์ onDeviceReady เพื่อให้แน่ใจว่า Cordova ถูกโหลดก่อนที่เราจะเริ่มใช้งาน
document.getElementById("cameraTakePicture").addEventListener
("click", cameraTakePicture);
ขั้นตอนที่ 4 - การเพิ่มฟังก์ชั่น (การถ่ายภาพ)
เราจะสร้างไฟล์ cameraTakePictureฟังก์ชันที่ส่งผ่านเป็นการโทรกลับไปยังผู้ฟังเหตุการณ์ของเรา มันจะเริ่มทำงานเมื่อแตะปุ่ม ภายในฟังก์ชันนี้เราจะเรียกไฟล์navigator.cameraglobal object ที่จัดเตรียมโดย plugin API หากการถ่ายภาพสำเร็จข้อมูลจะถูกส่งไปยังไฟล์onSuccessฟังก์ชั่นการโทรกลับหากไม่มีการแจ้งเตือนพร้อมข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น เราจะวางรหัสนี้ไว้ที่ด้านล่างของindex.js.
function cameraTakePicture() {
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50,
destinationType: Camera.DestinationType.DATA_URL
});
function onSuccess(imageData) {
var image = document.getElementById('myImage');
image.src = "data:image/jpeg;base64," + imageData;
}
function onFail(message) {
alert('Failed because: ' + message);
}
}
เมื่อเราเรียกใช้แอพและกดปุ่มกล้องเนทีฟจะถูกกระตุ้น
เมื่อเราถ่ายและบันทึกภาพก็จะแสดงบนหน้าจอ
สามารถใช้โพรซีเดอร์เดียวกันสำหรับการรับอิมเมจจากระบบไฟล์โลคัล ข้อแตกต่างเพียงอย่างเดียวคือฟังก์ชันที่สร้างขึ้นในขั้นตอนสุดท้าย คุณจะเห็นว่าไฟล์sourceType เพิ่มพารามิเตอร์ทางเลือกแล้ว
ขั้นตอนที่ 1 B
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugincamera
ขั้นตอนที่ 2 B
<button id = "cameraGetPicture">GET PICTURE</button>
ขั้นตอนที่ 3 B
document.getElementById("cameraGetPicture").addEventListener("click", cameraGetPicture);
ขั้นตอนที่ 4 B
function cameraGetPicture() {
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.PictureSourceType.PHOTOLIBRARY
});
function onSuccess(imageURL) {
var image = document.getElementById('myImage');
image.src = imageURL;
}
function onFail(message) {
alert('Failed because: ' + message);
}
}
เมื่อเรากดปุ่มที่สองระบบไฟล์จะเปิดขึ้นแทนกล้องเพื่อให้เราสามารถเลือกภาพที่จะแสดงได้
ปลั๊กอินนี้มีพารามิเตอร์เสริมมากมายสำหรับการปรับแต่ง
ส. เลขที่ | พารามิเตอร์และรายละเอียด |
---|---|
1 | quality คุณภาพของภาพในช่วง 0-100 ค่าเริ่มต้นคือ 50 |
2 | destinationType DATA_URL หรือ 0 ส่งคืนสตริงที่เข้ารหัส base64 FILE_URI หรือ 1 ส่งคืนไฟล์รูปภาพ URI NATIVE_URI หรือ 2 ส่งคืน URI ดั้งเดิมของรูปภาพ |
3 | sourceType PHOTOLIBRARY หรือ 0 เปิดคลังรูปภาพ CAMERA หรือ 1 เปิดกล้องเนทีฟ SAVEDPHOTOALBUM หรือ 2 เปิดอัลบั้มรูปภาพที่บันทึกไว้ |
4 | allowEdit อนุญาตให้แก้ไขภาพ |
5 | encodingType JPEG หรือ 0 ส่งคืนภาพที่เข้ารหัส JPEG PNG หรือ 1 ส่งคืนรูปภาพที่เข้ารหัส PNG |
6 | targetWidth ความกว้างของการปรับขนาดภาพเป็นพิกเซล |
7 | targetHeight ความสูงของการปรับขนาดภาพเป็นพิกเซล |
8 | mediaType PICTURE หรือ 0 อนุญาตให้เลือกภาพเท่านั้น VIDEO หรือ 1 อนุญาตให้เลือกวิดีโอเท่านั้น ALLMEDIA หรือ 2 อนุญาตให้เลือกประเภทสื่อทั้งหมด |
9 | correctOrientation ใช้สำหรับแก้ไขการวางแนวของภาพ |
10 | saveToPhotoAlbum ใช้เพื่อบันทึกภาพลงในอัลบั้มภาพ |
11 | popoverOptions ใช้สำหรับตั้งค่าตำแหน่งป็อปโอเวอร์บน IOS |
12 | cameraDirection FRONT หรือ 0 กล้องด้านหน้า. BACK หรือ 1 กล้องหลัง. ALLMEDIA |