โมดูลประมวลผลภาพที่รวดเร็วและรวดเร็วใน Node.js
Sharp เป็นโมดูลประมวลผลรูปภาพที่ใช้ไลบรารี libvips เพื่อให้การประมวลผลที่รวดเร็วสำหรับโปรเจ็กต์ Node.js
Sharp เป็นโมดูลอิมเมจการประมวลผลที่รวดเร็วสำหรับโปรเจ็กต์ Node.js ที่ขับเคลื่อนโดยไลบรารีการประมวลผลภาพ libvips ด้วยการเพิ่มนี้ Sharp อย่างชื่อแนะนำมีพลังการประมวลผลความเร็วสูงเนื่องจากเก็บข้อมูลภาพที่ไม่บีบอัดเพียงไม่กี่ภูมิภาคในหน่วยความจำทำให้พลังงาน CPU ที่ใช้ไปส่วนใหญ่และแคช L1/L2/L3 ว่าง
ไลบรารียังทำให้แน่ใจว่าไม่มีกระบวนการย่อยเกิดขึ้นและสนับสนุนกระบวนการ async หรือ await ในฐานะที่เป็นโมดูลประมวลผลภาพโอเพนซอร์ส Sharp สนับสนุนรูปแบบภาพหลายรูปแบบและข้อมูลพิกเซลดิบที่ไม่บีบอัดเช่นกัน เพื่อประสิทธิภาพสูงสุด ตรวจสอบให้แน่ใจว่าคุณใช้ Node.js เวอร์ชัน 10 ขึ้นไป
เริ่มต้นใช้งาน 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
});