欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

GraphicsMagick实战演练

最编程 2024-08-07 11:13:08
...

package org.zoo.hippo.utils;

import java.awt.image.BufferedImage;

import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import javax.imageio.ImageIO;

import org.im4java.core.ConvertCmd;

import org.im4java.core.IMOperation;

import org.im4java.core.Stream2BufferedImage;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

/**

*

* @author yankai913@gmail.com

* @date 2015-1-20

*/

public class ImageTool {

private static final Logger logger = LoggerFactory.getLogger(ImageTool.class);

private static String METHOD_SAMPLE = "sample";

private static String METHOD_RESIZE = "resize";

private static String METHOD_THUMBNAIL = "thumbnail";

private static String METHOD_SCALE = "scale";

private static IMOperation createIMOperation(double quality, String suffix, int width, int height,

String method) {

IMOperation op = new IMOperation();

op.addImage();

if (METHOD_SAMPLE.equals(method)) {

op.sample(width, height);

}

else if (METHOD_RESIZE.equals(method)) {

op.resize(width, height);

}

else if (METHOD_THUMBNAIL.equals(method)) {

op.thumbnail(width, height);

}

else {

op.scale(width, height);

}

op.quality(quality);

op.addImage(new String[] { suffix + ":-" });

return op;

}

public static byte[] sample(byte[] srcData, double quality, String suffix, int width, int height) {

return scale0(srcData, quality, suffix, width, height, METHOD_SAMPLE);

}

public static byte[] resize(byte[] srcData, double quality, String suffix, int width, int height) {

return scale0(srcData, quality, suffix, width, height, METHOD_RESIZE);

}

public static byte[] thumbnail(byte[] srcData, double quality, String suffix, int width, int height) {

return scale0(srcData, quality, suffix, width, height, METHOD_THUMBNAIL);

}

public static byte[] scale(byte[] srcData, double quality, String suffix, int width, int height) {

return scale0(srcData, quality, suffix, width, height, METHOD_SCALE);

}

private

上一篇: 全面指南:魔兽世界GM必备技能清单

下一篇: 使用 Node.js 的 gm 工具对图片进行处理和编辑