# image-compressorionjs **Repository Path**: mrxiaoxy/image-compressorionjs ## Basic Information - **Project Name**: image-compressorionjs - **Description**: 自定义图片压缩插件 - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-24 - **Last Updated**: 2025-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图片压缩 ## 目录 - [安装](#安装) - [Options](#Options) - [方法](#方法) - [浏览器支持](#浏览器支持) ## 开始 ### 安装 ``` npm install image-compressorionjs ``` ### 使用 #### 语法 ``` new ImageCompressor(file[, options]) ``` **file** * 类型: `File` or `Blob` 用于压缩的目标图像文件。 **options** * 类型: `Object` * 可选 压缩选项。查看可用[选项](#options)。 #### 示例 ``` ``` ``` const ImageCompressor = require('image-compressorionjs'); document.getElementById('file').addEventListener('change', (ev) => { const file = ev.target.files[0]; if (!(file && file.size > 0)) { return; } new ImageCompressor(file, { quality: 0.8, success(result){ console.log('success:', result) }, error(error){ console.log('error:', error) } }); }); ``` ### Options 您可以使用`new ImageCompressor(file, options)`设置压缩器选项。如果要更改全局默认选项,可以使用`ImageCompressor.setDefaults(options)`。 #### width - 类型: number - 默认值: undefined 输出图像的宽度。如果未指定,将使用原始图像的自然宽度,或者如果设置了高度选项,则将根据自然纵横比自动计算宽度。 #### height - 类型: number - 默认值: undefined 输出图像的高度。如果未指定,将使用原始图像的自然高度,或者如果设置了宽度选项,则将根据自然纵横比自动计算高度。 #### quality - 类型: number - 默认值: 0.8 输出图像的质量。它必须是介于0和1之间的小数。如果此参数是其他值,则默认使用0.80。请小心使用,因为它可能会使输出图像的大小变大。 **注意:**此选项仅适用于“image/jpeg”图像。 #### mimeType - 类型: string - 默认值: 'image/jpeg' - 选项: `"image/jpeg"`, `"image/png"`, and `"image/jpg"`. 输出图像的文件类型。默认情况下,它将被转换为“image/jpeg”文件类型。 #### maxConversionSize - 类型: number - 默认值: undefined 输出图像的最高质量。配置此属性时,设置的“quality”属性将不再有效。 #### orientation - 类型: boolean - 默认值: false 是否自动矫正图片。仅支持jpg、jpeg图像类型。此配置同旋转角度rotate属性互斥,同时设置的情况下会优先使用自动矫正 #### sizeThreshold - 类型: number - 默认值: undefined 设置压缩阈值,即文件大小大于设置的值时才执行压缩操作,默认单位是KB。可以同strictSizeThreshold组合使用 #### strictSizeThreshold - 类型: boolean - 默认值: true 当不满足设置的压缩条件(sizeThreshold)时,是否直接输出原图的处理结果(默认是true) 设置为true时,表示当不处于压缩条件(小于sizeThreshold)时,只会做一个返回结果类型(responseType)的处理; 设置为false时,表示当不处于压缩条件(小于sizeThreshold)时,除了压缩质量quality和最大质量maxConversionSize配置项不生效以外,其他都会生效,同时默认输出的mimeType调整为原始文件类型 #### rotate - 类型: number - 默认值: undefined 图片旋转角度输出。此配置同自动转正orientation属性互斥,同时设置的情况下会优先使用自动矫正 #### responseType - 类型: string - 默认值: 'file' - 选项: `"file"`, `"blob"`, `"base64"`, and `"arraybuffer"`. 图像压缩后返回的结果类型。默认情况下,返回压缩图像的“file”对象 #### success(result) - 类型: Function - 默认值: null - 参数: - result: 压缩成功的结果. #### error(error) - 类型: Function - 默认值: null - 参数: - error: 压缩失败的对象. ### 方法 - 暂无 ### 浏览器支持 - Chrome (latest) - Firefox (latest) - Safari (latest) - Opera (latest) - Edge (latest) - Internet Explorer 10+