Jimp

JavaScript 编写的图像处理库
授权协议 MIT
开发语言 JavaScript
所属分类 程序开发、 图形/图像处理
软件类型 开源软件
地区 不详
投 递 者 柳向明
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Jimp 是一个使用 JavaScript 编写的用于 Node 的图像处理库,具有零依赖的特性。

安装

npm install --save jimp

示例代码

var Jimp = require("jimp");
// open a file called "lenna.png"
Jimp.read("lenna.png", function (err, lenna) {
    if (err) throw err;
    lenna.resize(256, 256)            // resize
         .quality(60)                 // set JPEG quality
         .greyscale()                 // set greyscale
         .write("lena-small-bw.jpg"); // save
});

基本用法

Jimp.read("./path/to/image.jpg").then(function (image) {
    // do stuff with the image
}).catch(function (err) {
    // handle an exception
});

对图像操作的一些方法

/* Resize */
image.contain( w, h[, alignBits || mode, mode] );    // scale the image to the given width and height, some parts of the image may be letter boxed
image.cover( w, h[, alignBits || mode, mode] );      // scale the image to the given width and height, some parts of the image may be clipped
image.resize( w, h[, mode] );     // resize the image. Jimp.AUTO can be passed as one of the values.
image.scale( f[, mode] );         // scale the image by the factor f
image.scaleToFit( w, h[, mode] ); // scale the image to the largest size that fits inside the given width and height
// An optional resize mode can be passed with all resize methods.
/* Crop */
image.autocrop([tolerance, frames]); // automatically crop same-color borders from image (if any), frames must be a Boolean
image.crop( x, y, w, h );         // crop to the given region
/* Flip and rotate */
image.flip( horz, vert );         // flip the image horizontally or vertically
image.mirror( horz, vert );       // an alias for flip
image.rotate( deg[, mode] );      // rotate the image clockwise by a number of degrees. Optionally, a resize mode can be passed. If `false` is passed as the second parameter, the image width and height will not be resized.
image.exifRotate();               // JPEG images with EXIF orientation data will be automatically re-orientated as appropriate.
  • 1. 定义模板文件 <form action="/admin/focus/doAdd?_csrf=<%=csrf%>" method="post" enctype="multipart/form-data"> <ul> <li> 分类:<select name="type" id="type" style="width:300px;height:26px">

  • nodejs有很多可以操作图片的第三方库,比如gm、sharp等等,但是这些都需要很繁琐的步骤安装一类,很麻烦 但是jimp很简单,只需要npm install jimp就可以使用。下面是一些简单的demo,只需要将文件中的图片路径换成自己的就可以实现对图片的简单操作 运行这个文件需要nodejs环境,然后node self.js就可以了: const Jimp = require('jimp')

 相关资料
  • 大多数图像处理和操作技术可以使用两个库进行有效的处理:Python Imaging Library (PIL) 和 OpenSource Computer Vision (OpenCV)。 下面来简单介绍一下这两个库。 Python 图像库 Python 图像库, 全称为 Python Imaging Library,简称PIL,是Python图像操作的核心库之一。遗憾的是,PIL 的开发工作已经

  • Tensorflow封装了很多图像处理的操作,包括读取图像、图像处理、写图像到文件等等。在批量处理图像时,Tensorflow要求所有的图像都要有相同的Size,即$$(height,width,channels)$$。 读取图像 %matplotlib inline import tensorflow as tf import numpy as np #mil.use('svg') mil.us

  • 安装扩展 使用Composer安装ThinkPHP5的图像处理类库: composer require topthink/think-image 图像操作 下面来看下图像操作类的基础方法。 打开图像文件 假设当前入口文件目录下面有一个image.png文件,如图所示: 使用open方法打开图像文件进行相关操作: $image = \think\Image::open('./image.png');

  • 主要内容:GD 库PHP 提供了丰富的图像处理函数,主要包括: 函数 描述 gd_info() 取得当前安装的 GD 库的信息 getimagesize() 获取图像信息 getimagesizefromstring() 获取图像信息 image_type_to_extension() 获取图片后缀 image_type_to_mime_type() 返回图像的 MIME 类型 image2wbmp() 输出WBM

  • Matplotlib 软件包中的 模块提供了加载、缩放和显示图像的功能,该模块只能支持 PNG 格式的图片,如果格式不符,需要对图片的格式进行转换。 Matplotlib 支持的图片格式非常有限,所以通常情况下,建议采用 Python 图像处理库 Pillow 来处理图像,若感兴趣可以自行了解。 下面示例,imread() 函数用于读取图像数据并形成 ndarray 数组 ,其数据类型为 floa

  • 缩略图功能 通过http请求获取缩略图 在GET请求参数中添加thumb=1&w=${IMAGE_WIDTH}&h=${HEIGHT} 例子: 原图地址: https://cdn.cnbj0.fds.api.mi-img.com/fds-demo/mi5.jpg 缩放为100x200: https://cdn.cnbj0.fds.api.mi-img.com/fds-demo/mi5.jpg?th

  • CodeIgniter 的图像处理类可以使你完成以下的操作: 调整图像大小 创建缩略图 图像裁剪 图像旋转 添加图像水印 可以很好的支持三个主流的图像库:GD/GD2, NetPBM, 和 ImageMagick。 注意: 添加水印操作仅仅在使用GD/GD2时可用。另外,即使支持其他的图像处理库,但是为了计算图像的属性,GD是必需的。然而,将使用你制定的库来进行图像处理操作。 初始化类 像 Cod

  • CodeIgniter 的图像处理类可以使你完成以下的操作: 调整图像大小 创建缩略图 图像裁剪 图像旋转 添加图像水印 可以很好的支持三个主流的图像库:GD/GD2、NetPBM 和 ImageMagick 。 注解 添加水印操作仅仅在使用 GD/GD2 时可用。另外,即使支持其他的图像处理库, 但是为了计算图像的属性,GD 仍是必需的。然而在进行图像处理操作时, 还是会使用你指定的库。 初始化