awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
fengyuanchen avatar

fengyuanchen/compressorjs

0
View on GitHub↗
5,749 نجوم·451 تفرعات·JavaScript·MIT·8 مشاهداتfengyuanchen.github.io/compressorjs↗

Compressorjs

Compressorjs is a client-side image compression library that reduces file sizes in the browser before upload, using the HTML Canvas API to re-encode images into smaller File or Blob objects. It supports JPEG, PNG, and WebP formats, with configurable quality and dimension controls to balance file size and visual fidelity.

The library distinguishes itself through several integrated capabilities. It reads Exif orientation metadata from JPEG images and automatically rotates or flips the canvas to ensure correct display after compression. An AbortController integration allows cancellation of an in-progress compression task to free resources. Users can inject custom canvas operations through before-draw and after-draw hooks, enabling effects like watermarks or filters. The tool also converts image formats, such as PNG to JPEG, optionally triggered only when the original file exceeds a specified size threshold.

Additional capabilities include resizing and cropping images to exact dimensions or within bounds using contain or cover modes, with constraints on minimum and maximum width and height. The library preserves Exif metadata in the compressed output and provides fine-grained control over compression quality on a zero-to-one scale for JPEG and WebP output.

Features

  • Client-Side Compression - Reduces image file size in the browser before upload to save bandwidth and speed up transfers.
  • Client-Side Compressors - A client-side image compression library that reduces file sizes in the browser using the Canvas API before upload.
  • Image Compression - Re-encodes images with configurable quality and dimensions to reduce file size before upload.
  • Image Quality Adjustments - Ships a configurable quality parameter on a zero-to-one scale for JPEG and WebP output.
  • Canvas-Based Image Processors - Re-encodes images by drawing them onto an HTML Canvas element and exporting the result.
  • Browser-Based Compressors - A browser-based JavaScript library that re-encodes images to smaller File or Blob objects with adjustable quality.
  • Dimension Bounds Enforcers - Limits the maximum or minimum width and height of the compressed image to fit within bounds.
  • Manual Quality Adjustments - Sets the quality level for JPEG and WebP output to balance file size and visual fidelity.
  • EXIF Metadata Handling - Reads the Exif Orientation tag from JPEG metadata and applies a canvas transform to correct rotation.
  • Orientation-Aware Resizers - Reads and applies EXIF orientation metadata during compression to ensure images display correctly after resizing.
  • Orientation Corrections - Reads the Exif Orientation tag from JPEG images and automatically rotates or flips the canvas before compression.
  • Image Cropping Tools - Resizes images to a given width and height using contain or cover modes to fill the target area.
  • Dimension-Constrained Resizing - Scales or crops images to exact dimensions or within bounds for consistent output sizes.
  • Exact Dimension Cropping - Provides exact dimension cropping with aspect ratio override for consistent output sizes.
  • Bounded - Scales images within configurable min/max bounds while preserving aspect ratio.
  • Exact - Resizes images to exact dimensions with contain or cover fit modes.
  • Orientation Correction Utilities - Reads Exif orientation data from JPEG images and automatically rotates or flips the output to match.
  • Image Format Conversion - Changes the MIME type of an image, such as PNG to JPEG, to reduce size or meet server requirements.
  • Quality Tuning - Accepts a zero-to-one quality value that controls the compression level for JPEG and WebP output.
  • Compression Abortions - Integrates an AbortController to cancel an in-progress compression task and free resources.
  • Image Metadata Preservations - Preserves the original image's Exif metadata in the compressed output instead of stripping it.
  • Canvas Drawing Hooks - Provides before-draw and after-draw hooks for injecting custom canvas operations like watermarks or filters.
  • Aspect Ratio Preserving Resizing - Scales images within bounding boxes while preserving original aspect ratio.

سجل النجوم

مخطط تاريخ النجوم لـ fengyuanchen/compressorjsمخطط تاريخ النجوم لـ fengyuanchen/compressorjs

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Compressorjs

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Compressorjs.
  • coobird/thumbnailatorالصورة الرمزية لـ coobird

    coobird/thumbnailator

    5,420عرض على GitHub↗

    Thumbnailator is a Java image thumbnailing library designed for generating resized images with aspect ratio preservation and high-quality scaling. It serves as a toolkit for rotating, cropping, and adjusting the opacity of images within Java applications. The library is distinguished by its ability to function as an Exif-aware image processor, automatically rotating thumbnails based on embedded orientation metadata. It also provides specialized utilities for digital watermarking, allowing secondary images and branding markers to be overlaid with adjustable transparency. Core capabilities cov

    Javafluent-interfaceimage-processingimage-resizer
    عرض على GitHub↗5,420
  • blueimp/javascript-load-imageالصورة الرمزية لـ blueimp

    blueimp/JavaScript-Load-Image

    4,463عرض على GitHub↗

    This is a JavaScript image loading library and a suite of utilities for binary metadata parsing and canvas-based transformations. It provides a unified interface for loading images from URLs, Blobs, or Files into HTML elements. The library includes a canvas-based image transformer for producing scaled, cropped, or rotated images and an image orientation handler that rotates or flips images based on embedded metadata. It also features an Exif metadata parser to extract IPTC and Exif tags and embedded thumbnails from binary image data. The toolset covers browser-based image processing, includi

    JavaScript
    عرض على GitHub↗4,463
  • fex-team/webuploaderالصورة الرمزية لـ fex-team

    fex-team/webuploader

    7,647عرض على GitHub↗

    Webuploader is a browser-based file upload library written in JavaScript. It provides a system for managing multi-file uploads with support for drag-and-drop, clipboard pasting, and type filtering. The library includes a chunked file upload manager that splits large files into smaller segments to improve stability and enable partial retries. It features a client-side image compressor that generates previews and reduces file size before transmission, as well as an MD5 file integrity verifier to identify and skip redundant uploads of files already stored on the server. The tool manages file co

    JavaScript
    عرض على GitHub↗7,647
  • disintegration/imagingالصورة الرمزية لـ disintegration

    disintegration/imaging

    5,727عرض على GitHub↗

    Imaging is a Go library for image processing that provides a set of functions for common image manipulation tasks. It offers capabilities for adjusting image colors, applying convolution filters, blurring, cropping, resizing, sharpening, and correcting orientation based on EXIF data. The library supports resizing images to exact dimensions or bounding boxes with aspect ratio preservation and configurable resampling filters. Color adjustments include gamma, contrast, brightness, and saturation controls, while blurring and sharpening use Gaussian-based algorithms with configurable sigma paramet

    Go
    عرض على GitHub↗5,727
عرض جميع البدائل الـ 30 لـ Compressorjs→

الأسئلة الشائعة

ما هي وظيفة fengyuanchen/compressorjs؟

Compressorjs is a client-side image compression library that reduces file sizes in the browser before upload, using the HTML Canvas API to re-encode images into smaller File or Blob objects. It supports JPEG, PNG, and WebP formats, with configurable quality and dimension controls to balance file size and visual fidelity.

ما هي الميزات الرئيسية لـ fengyuanchen/compressorjs؟

الميزات الرئيسية لـ fengyuanchen/compressorjs هي: Client-Side Compression, Client-Side Compressors, Image Compression, Image Quality Adjustments, Canvas-Based Image Processors, Browser-Based Compressors, Dimension Bounds Enforcers, Manual Quality Adjustments.

ما هي البدائل مفتوحة المصدر لـ fengyuanchen/compressorjs؟

تشمل البدائل مفتوحة المصدر لـ fengyuanchen/compressorjs: coobird/thumbnailator — Thumbnailator is a Java image thumbnailing library designed for generating resized images with aspect ratio… blueimp/javascript-load-image — This is a JavaScript image loading library and a suite of utilities for binary metadata parsing and canvas-based… fex-team/webuploader — Webuploader is a browser-based file upload library written in JavaScript. It provides a system for managing multi-file… disintegration/imaging — Imaging is a Go library for image processing that provides a set of functions for common image manipulation tasks. It… cybertimon/rapidraw — RapidRAW is a non-destructive RAW photo editor and digital asset manager designed for decoding manufacturer RAW… arthurhub/android-image-cropper — Android-Image-Cropper is an image cropping library for Android applications designed to trim and resize photos sourced…