Modul Pemprosesan Imej Pantas dan Pantas dalam Node.js
Sharp ialah modul pemprosesan imej yang menggunakan perpustakaan libvips untuk menyediakan pemprosesan pantas untuk projek Node.js.
Sharp ialah modul imej pemprosesan pantas untuk projek Node.js yang dikuasakan oleh pustaka pemprosesan imej libvips. Disebabkan penambahan ini, Sharp seperti namanya mempunyai kuasa pemprosesan berkelajuan tinggi kerana ia hanya menyimpan beberapa kawasan data imej yang tidak dimampatkan dalam memori yang membebaskan banyak kuasa CPU yang digunakan dan cache L1/L2/L3
Perpustakaan juga memastikan bahawa tiada proses kanak-kanak dihasilkan dan proses async atau menunggu disokong. Sebagai modul pemprosesan imej sumber terbuka, Sharp menyokong berbilang format imej dan data piksel mentah yang tidak dimampatkan juga. Untuk prestasi optimum pastikan anda menggunakan Node.js versi 10 dan ke atas.
Bermula dengan Sharp
Cara yang disyorkan untuk memasang Sharp melalui NPM. Sila gunakan arahan berikut untuk memasangnya.
Pasang Sharp melalui NPM
npm install sharp
Saiz semula Imej melalui API JavaScript Percuma
Pustaka tajam sumber terbuka membolehkan pembangun JavaScript mengubah saiz imej secara pengaturcaraan. Sharp membolehkan anda menukar format imej yang besar kepada saiz yang lebih kecil yang serasi dengan aplikasi web yang berbeza. Dengan bantuan perpustakaan yang tajam, Sharp mempunyai kelajuan pemprosesan imej 4 hingga 5 kali lebih pantas berbanding penukar format imej lain seperti ImageMagick atau GraphicsMagick. Sharp memastikan kualiti imej tidak terjejas oleh modul pensampelan semula Lanczos.
Baca & Ubah Saiz Imej melalui 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)
Pemprosesan Imej melalui API JavaScript Percuma
Pustaka yang tajam membolehkan pembangun perisian memproses imej dalam rangka kerja JavaScript. Anda boleh melakukan operasi imej seperti mengubah saiz imej, berputar, mengekstrak, pembetulan dan penggubahan. Sharp serasi dengan sistem MacOS, Windows dan Linux dan tidak memerlukan sebarang pemasangan tambahan apabila menggunakan Node.js Versi 10 dan ke atas.
Ekstrak Imej dari Wilayah melalui 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
});
Putar Imej melalui API JavaScript
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();
Bekerja dengan Metadata Imej dalam Apl JavaScript
Pustaka tajam sumber terbuka telah menyertakan sokongan penuh untuk bekerja dengan Metadata Imej dalam aplikasi JavaScript. Perpustakaan menyediakan akses pantas kepada metadata imej tanpa menyahkod sebarang data piksel termampat. Ia telah menyertakan sokongan untuk beberapa sifat penting seperti saiz imej, format, ketinggian, lebar, kedalaman, ketumpatan, ruang, tahap, latar belakang, exif, hasprofile, halaman dan banyak lagi. Anda juga boleh mengakses statistik imej terbitan piksel dengan mudah untuk setiap saluran dalam imej seperti min, maks, jumlah, min, ketajaman, entropi dan banyak lagi.
Akses Metadata Imej melalui 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
});