JavaScript API เพื่อครอบตัดรูปภาพ

ไลบรารี JavaScript โอเพ่นซอร์สที่รองรับการครอบตัดแอป JavaScript

Cropper เป็นไลบรารี JavaScript โอเพ่นซอร์สที่อนุญาตให้ครอบตัดรูปภาพในเบราว์เซอร์ของคุณ การใช้ API คุณสามารถเพิ่มคุณสมบัติการครอบตัดที่ปรับปรุงแล้วให้กับแอปพลิเคชันของคุณด้วยวิธีการที่แตกต่างกัน 27 วิธี 39 ตัวเลือกที่แตกต่างกัน และ 6 เหตุการณ์ การใช้ API คุณสามารถทำงานและครอบตัดรูปภาพในเบราว์เซอร์ของคุณได้อย่างง่ายดาย

ไลบรารีนี้ให้การสนับสนุนคุณลักษณะการครอบตัดที่หลากหลาย รองรับการครอบตัดรูปภาพผ่านหน้าจอสัมผัส การซูม การหมุน การปรับขนาดและการพลิก โดยใช้ตัวครอบตัดหลายตัว อนุญาตให้ครอบตัดรูปภาพบนผืนผ้าใบ อนุญาตให้ครอบตัดรูปภาพบนผืนผ้าใบด้านเบราว์เซอร์ด้วยการสนับสนุนข้ามเบราว์เซอร์

Previous Next

เริ่มต้นใช้งาน 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,
});
 ไทย