JavaScript API เพื่อครอบตัดรูปภาพ
ไลบรารี JavaScript โอเพ่นซอร์สที่รองรับการครอบตัดแอป JavaScript
Cropper เป็นไลบรารี JavaScript โอเพ่นซอร์สที่อนุญาตให้ครอบตัดรูปภาพในเบราว์เซอร์ของคุณ การใช้ API คุณสามารถเพิ่มคุณสมบัติการครอบตัดที่ปรับปรุงแล้วให้กับแอปพลิเคชันของคุณด้วยวิธีการที่แตกต่างกัน 27 วิธี 39 ตัวเลือกที่แตกต่างกัน และ 6 เหตุการณ์ การใช้ API คุณสามารถทำงานและครอบตัดรูปภาพในเบราว์เซอร์ของคุณได้อย่างง่ายดาย
ไลบรารีนี้ให้การสนับสนุนคุณลักษณะการครอบตัดที่หลากหลาย รองรับการครอบตัดรูปภาพผ่านหน้าจอสัมผัส การซูม การหมุน การปรับขนาดและการพลิก โดยใช้ตัวครอบตัดหลายตัว อนุญาตให้ครอบตัดรูปภาพบนผืนผ้าใบ อนุญาตให้ครอบตัดรูปภาพบนผืนผ้าใบด้านเบราว์เซอร์ด้วยการสนับสนุนข้ามเบราว์เซอร์
เริ่มต้นใช้งาน Cropper
วิธีที่แนะนำในการติดตั้ง cropper ผ่าน NPM โปรดใช้คำสั่งต่อไปนี้เพื่อติดตั้ง
ติดตั้งตัวครอบตัดผ่าน NPM
npm install cropperjs
ครอบตัดรูปภาพภายในแอป JavaScript
ไลบรารี Cropper ช่วยให้โปรแกรมเมอร์ซอฟต์แวร์สามารถครอบตัดรูปภาพโดยใช้ JavaScript โดยทางโปรแกรม ในการครอบตัดรูปภาพ คุณต้องโหลดรูปภาพและตรวจดูให้แน่ใจว่าขนาดของรูปภาพนั้นพอดีกับคอนเทนเนอร์อย่างสมบูรณ์ หลังจากที่คุณเตรียมรูปภาพของคุณแล้ว คุณสามารถดำเนินการชุดคุณสมบัติการครอบตัดบนพิกัด x และ y ที่กำหนด รวมถึงการหมุน การพลิก การปรับขนาด และการตั้งค่าความสูงและความกว้างตามความต้องการของคุณ .
ตัดภาพและบันทึกผ่าน JavaScript API
// vars
let result = document.querySelector('.result'),
img_result = document.querySelector('.img-result'),
img_w = document.querySelector('.img-w'),
img_h = document.querySelector('.img-h'),
options = document.querySelector('.options'),
save = document.querySelector('.save'),
cropped = document.querySelector('.cropped'),
dwn = document.querySelector('.download'),
upload = document.querySelector('#file-input'),
cropper = '';
// on change show image with crop options
upload.addEventListener('change', e => {
if (e.target.files.length) {
// start file reader
const reader = new FileReader();
reader.onload = e => {
if (e.target.result) {
// create new image
let img = document.createElement('img');
img.id = 'image';
img.src = e.target.result;
// clean result before
result.innerHTML = '';
// append new image
result.appendChild(img);
// show save btn and options
save.classList.remove('hide');
options.classList.remove('hide');
// init cropper
cropper = new Cropper(img);
}
};
reader.readAsDataURL(e.target.files[0]);
}
});
// save on click
save.addEventListener('click', e => {
e.preventDefault();
let imgSrc = cropper.getCroppedCanvas({
width: img_w.value // input value
}).toDataURL();
cropped.classList.remove('hide');
img_result.classList.remove('hide');
cropped.src = imgSrc;
dwn.classList.remove('hide');
dwn.download = 'imagename.png';
dwn.setAttribute('href', imgSrc);
});
ครอบตัดรูปภาพในเบราว์เซอร์โดยใช้ JavaScript
คุณสามารถเพิ่มฟังก์ชันการครอบตัดรูปภาพในแอปของคุณ และผู้ใช้สามารถครอบตัดรูปภาพได้โดยตรงจากเบราว์เซอร์ ผู้ใช้สามารถอัปโหลดหรือลากและวางรูปภาพในเบราว์เซอร์และใช้คุณสมบัติการครอบตัดกับรูปภาพได้ API ให้ความเข้ากันได้ข้ามเบราว์เซอร์ API ทำงานได้ดีโดยใช้ Chrome, Firefox, Safari, Opera, Edge และ Internet Explorer เวอร์ชันล่าสุด
ตัดภาพออนไลน์ผ่าน JavaScript
//instantiate Cropper
var cropper = canvas.cropper({
aspectRatio: 16 / 9
});
//Crop Image
$('#btnCrop').click(function() {
// Get a string base 64 data url
var croppedImageDataURL = canvas.cropper('getCroppedCanvas').toDataURL("image/png");
$result.append( $('').attr('src', croppedImageDataURL) );
});
การใช้วิธีการครอบตัดใน JavaScript
เพื่อให้มีความยืดหยุ่น API จึงมีวิธีการครอบตัดรูปภาพมากมาย วิธีการเหล่านี้ช่วยให้นักพัฒนาสามารถเพิ่มคุณสมบัติการครอบตัดรูปภาพลงในแอปพลิเคชันได้อย่างง่ายดาย API จัดเตรียมวิธีการ crop() เพื่อครอบตัดรูปภาพ นอกจากนี้ คุณสามารถใช้ reset(), clear(), replace(), enable(), disable(), destroy(), move(), zoom(), turns(), scale(), getData(), setData (), getCanvasData() และอื่นๆ
ซูมผ้าใบเพื่ออัตราส่วนที่แน่นอนผ่าน JavaScript
cropper.zoomTo(1); // 1:1 (canvasData.width === canvasData.naturalWidth)
const containerData = cropper.getContainerData();
// Zoom to 50% from the center of the container.
cropper.zoomTo(.5, {
x: containerData.width / 2,
y: containerData.height / 2,
});