图片处理服务是一个基础服务,以接口的方式提供服务,可对图片进行处理。
图片处理是指:缩略图、裁剪、旋转、加文字水印、加图片水印等等操作。
在线实时图片处理是指:当用户第一次访问一张图片的小图时,可从原图实时生成一张小图,返回给用户。图片URL中带有图片处理规则。
图片处理引擎:java图片处理引擎、ImageMagick图片处理引擎
|
com.sicheng.upload.thumbnail.ImageProcess 是图片处理接口
/**
* Copyright (C) 2016-Now 思程科技 All rights reserved.
* 思程科技(北京)有限公司对本内容拥有著作权,禁止外泄,禁止未经授权使用。
*/
package com.sicheng.upload.thumbnail;
import java.io.InputStream;
/**
* <p>
* 标题: 图片处理接口
* </p>
* <p>
* 描述:生成缩略图、裁剪、取图片格式、取图片宽度
* </p>
* <p>
* 公司: 思程科技 www.sicheng.net
* </p>
*
* @author zhaolei
* @date 2017年9月13日 下午3:07:03
*/
public interface ImageProcess {
/**
* 生成缩略图,保持图片原有长宽比例
*
* @param inputStream
* @param width
* 宽,像素
* @param height
* 高,像素
* @param quality
* 清晰度,1-100
* @param format
* 文件后缀
* @return
*/
public InputStream resize(InputStream inputStream, int width, int height, int quality, String format);
/**
* 按"最小边"生成指定宽与高的缩略图,由于图片长宽比不同造成的"超出",将切掉
*
* @param inputStream
* @param width
* 宽,像素
* @param height
* 高,像素
* @param quality
* 清晰度,1-100
* @param format
* 文件后缀
* @return
*/
public InputStream resizeAndCut(InputStream inputStream, int width, int height, int quality, String format);
/**
* 取得图片信息 (宽、高、图片类型)
* 支持判断JPEG, GIF, PNG, BMP and TIFF
*
* @param fileContent
* 文件内容字节数组
* @return ImageInfo
*/
public ImageInfo getImageInfo(InputStream inputStream);
/**
* 取得图片类型
* 支持判断JPEG, GIF, PNG, BMP and TIFF
* 注意:
* 1、图片类型使用大写字母描述。
* 2、jpg格式使用JPEG来表示。
*
* @param inputStream
* @return 大写的文件类型
*/
public String getFormat(InputStream inputStream);
/**
* 取得图片信息 (宽、高)
* @param inputStream
* @return
*/
public ImageInfo getImageWH(InputStream inputStream);
}