โมดูลประมวลผลภาพที่รวดเร็วและรวดเร็วใน Node.js

Sharp เป็นโมดูลประมวลผลรูปภาพที่ใช้ไลบรารี libvips เพื่อให้การประมวลผลที่รวดเร็วสำหรับโปรเจ็กต์ Node.js

Sharp เป็นโมดูลอิมเมจการประมวลผลที่รวดเร็วสำหรับโปรเจ็กต์ Node.js ที่ขับเคลื่อนโดยไลบรารีการประมวลผลภาพ libvips ด้วยการเพิ่มนี้ Sharp อย่างชื่อแนะนำมีพลังการประมวลผลความเร็วสูงเนื่องจากเก็บข้อมูลภาพที่ไม่บีบอัดเพียงไม่กี่ภูมิภาคในหน่วยความจำทำให้พลังงาน CPU ที่ใช้ไปส่วนใหญ่และแคช L1/L2/L3 ว่าง

ไลบรารียังทำให้แน่ใจว่าไม่มีกระบวนการย่อยเกิดขึ้นและสนับสนุนกระบวนการ async หรือ await ในฐานะที่เป็นโมดูลประมวลผลภาพโอเพนซอร์ส Sharp สนับสนุนรูปแบบภาพหลายรูปแบบและข้อมูลพิกเซลดิบที่ไม่บีบอัดเช่นกัน เพื่อประสิทธิภาพสูงสุด ตรวจสอบให้แน่ใจว่าคุณใช้ Node.js เวอร์ชัน 10 ขึ้นไป

Previous Next

เริ่มต้นใช้งาน Sharp

วิธีแนะนำในการติดตั้ง Sharp ผ่าน NPM โปรดใช้คำสั่งต่อไปนี้เพื่อติดตั้ง

ติดตั้ง Sharp ผ่าน NPM

 npm install sharp 

ปรับขนาดรูปภาพผ่าน JavaScript API ฟรี

ห้องสมุดโอเพ่นซอร์สช่วยให้ผู้พัฒนา JavaScript สามารถปรับขนาดภาพได้ ชาร์ปช่วยให้คุณสามารถแปลงรูปแบบภาพขนาดใหญ่เป็นขนาดเล็กที่เข้ากันได้กับการใช้งานเว็บที่แตกต่างกัน ด้วยความช่วยเหลือของห้องสมุดที่คมชัด Sharp มีความเร็วในการประมวลผลภาพได้เร็วขึ้น 4 ถึง 5 เท่าเมื่อเทียบกับตัวแปลงรูปแบบภาพอื่น ๆ เช่น ImageMagick หรือ GraphicsMagick ชาร์ปช่วยให้มั่นใจได้ว่าคุณภาพของภาพจะไม่ถูกบุกรุกจากโมดูลการสุ่มตัวอย่างของ Lancers

อ่านและปรับขนาดรูปภาพผ่าน JavaScript

const transformer = sharp()
  .resize({
    width: 200,
    height: 200,
    fit: sharp.fit.cover,
    position: sharp.strategy.entropy
  });
// Read image data from readableStream
// Write 200px square auto-cropped image data to writableStream
readableStream
  .pipe(transformer)
  .pipe(writableStream)

การประมวลผลภาพผ่าน JavaScript API ฟรี

ห้องสมุดที่คมชัดช่วยให้ผู้พัฒนาซอฟต์แวร์สามารถประมวลผลภาพในกรอบ JavaScript คุณสามารถดําเนินการภาพเช่นภาพที่อยู่อาศัยหมุนแยกแก้ไขและองค์ประกอบ ชาร์ปเข้ากันได้กับ MacOS, Windows และระบบ Linux และไม่จําเป็นต้องมีการติดตั้งเพิ่มเติมเมื่อใช้ Node.js เวอร์ชัน 10 ขึ้นไป

ดึงภาพจากภูมิภาคผ่าน JavaScript

sharp(input)
  .extract({ left: leftOffsetPre, top: topOffsetPre, width: widthPre, height: heightPre })
  .resize(width, height)
  .extract({ left: leftOffsetPost, top: topOffsetPost, width: widthPost, height: heightPost })
  .toFile(output, function(err) {
    // Extract a region, resize, then extract from the resized image
  });

หมุนภาพผ่าน JavaScript API

const rotateThenResize = await sharp(input)
  .rotate(90)
  .resize({ width: 16, height: 8, fit: 'fill' })
  .toBuffer();
const resizeThenRotate = await sharp(input)
  .resize({ width: 16, height: 8, fit: 'fill' })
  .rotate(90)
  .toBuffer();

ทํางานกับภาพ Metadata ใน JavaScript ปพลิเคชัน

ห้องสมุดโอเพนซอร์สได้รวมการสนับสนุนอย่างเต็มที่สําหรับการทํางานกับเมตาภาพภายใน JavaScript แอปพลิเคชัน ห้องสมุดให้การเข้าถึงข้อมูลเมตาภาพอย่างรวดเร็วโดยไม่ต้องถอดรหัสข้อมูลพิกเซลที่บีบอัดใด ๆ มันได้รวมการสนับสนุนสําหรับคุณสมบัติที่สําคัญหลายอย่างเช่นขนาดภาพรูปแบบความสูงความกว้างความลึกความหนาแน่นพื้นที่ระดับพื้นหลังทางออก dsprofile หน้าและอื่น ๆ อีกมากมาย นอกจากนี้คุณยังสามารถเข้าถึงสถิติภาพที่ได้มาจากพิกเซลสําหรับทุกช่องในภาพเช่น min, max, sum, หมายความ, ความคมชัด, entropy และอื่น ๆ อีกมากมาย

เข้าถึงข้อมูลเมตาของรูปภาพผ่าน JavaScript

const image = sharp(inputJpg);
image
  .metadata()
  .then(function(metadata) {
    return image
      .resize(Math.round(metadata.width / 2))
      .webp()
      .toBuffer();
  })
  .then(function(data) {
    // data contains a WebP image half the width and height of the original JPEG
  });
 ไทย