Mô-đun xử lý hình ảnh nhanh và nhanh trong Node.js

Sharp là một mô-đun xử lý hình ảnh sử dụng thư viện libvips để cung cấp quá trình xử lý nhanh chóng cho các dự án Node.js.

Sharp là một mô-đun hình ảnh xử lý nhanh cho các dự án Node.js được hỗ trợ bởi thư viện xử lý hình ảnh libvips. Do sự bổ sung này, Sharp như tên cho thấy có sức mạnh xử lý tốc độ cao vì nó chỉ lưu trữ một vài vùng dữ liệu hình ảnh không nén trong bộ nhớ, giải phóng phần lớn năng lượng CPU đã sử dụng và bộ nhớ đệm L1 / L2 / L3

Thư viện cũng đảm bảo rằng không có quy trình con nào được tạo ra và các quy trình không đồng bộ hoặc đang chờ được hỗ trợ. Là một mô-đun xử lý hình ảnh mã nguồn mở, Sharp hỗ trợ nhiều định dạng hình ảnh và cả dữ liệu pixel thô không nén. Để có hiệu suất tối ưu, hãy đảm bảo rằng bạn đang sử dụng Node.js phiên bản 10 trở lên.

Previous Next

Bắt đầu với Sharp

Cách được khuyến nghị để cài đặt Sharp qua NPM. Vui lòng sử dụng lệnh sau để cài đặt nó.

Cài đặt Sharp qua NPM

 npm install sharp 

Thay đổi kích thước hình ảnh qua API JavaScript miễn phí

Thư viện mã nguồn mở cho phép JavaScript nhà phát triển kích thước hình ảnh lập trình. Sharp cho phép anh chuyển đổi các định dạng hình ảnh lớn thành các kích cỡ nhỏ hơn tương thích với các ứng dụng web khác nhau. Với sự giúp đỡ của thư viện sắc nhọn, Sharp có tốc độ xử lý hình ảnh 4 đến 5 lần so với các bộ chuyển đổi hình ảnh khác như ImageMagick hay GraphicsMagick. Sharp đảm bảo chất lượng hình ảnh không bị ảnh hưởng bởi mô-đun lấy mẫu Lancers.

Đọc và kích thước hình ảnh thông qua 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)

Xử lý hình ảnh qua API JavaScript miễn phí

Thư viện sắc bén cho phép các nhà phát triển phần mềm xử lý hình ảnh trong khung JavaScript. Anh có thể thực hiện các hoạt động hình ảnh như hình ảnh đang hoạt động, xoay vòng, chiết xuất, sửa chữa và thành phần. Sharp tương thích với MacOS, cửa sổ, và hệ thống Linux và không cần thêm bất kỳ cài đặt nào khi sử dụng phiên bản Node.js 10 và trên cao.

Chiết xuất hình ảnh từ vùng 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
  });

Xoay hình ảnh qua 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();

Làm việc với hình ảnh Metadata trong JavaScript ứng dụng

Thư viện sắc bén nguồn mở đã được hỗ trợ đầy đủ để làm việc với hình ảnh Metadata trong JavaScript ứng dụng. Thư viện cung cấp tốc độ truy cập vào dữ liệu hình ảnh mà không cần giải mã dữ liệu hình ảnh nén. Nó bao gồm hỗ trợ cho một số tài sản quan trọng như kích thước hình ảnh, định dạng, chiều cao, chiều rộng, độ sâu, mật độ, không gian, cấp độ, độ nền, lối thoát, hồ sơ, trang, và nhiều thứ nữa. Anh cũng có thể dễ dàng truy cập vào hình ảnh có điểm ảnh của mỗi kênh trong hình ảnh như tối thiểu, Max, tổng cộng, nghĩa là, sắc nhọn, ghen tỵ, và nhiều hơn nữa.

Truy cập hình ảnh Metadata qua 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
  });
 Tiếng Việt