在im4java中使用GraphicsMagick
1.定义操作和命令
GMOperation op = new GMOperation();
GraphicsMagickCmd cmd = new GraphicsMagickCmd("convert"); //convert说明你要做的是convert里面的操作
或ConvertCmd cmd = new ConvertCmd(true); //true说明你要用的是gm工具
2.缩放的参数说明
op.resize(int width) //它写的是width让我误以为是可以限制宽度的,其实不是,而是限制长宽不能超出width
op.resize(int width, int height) //其实就是相当于限制了一个框,图片等比例放在框里
如果你想实现图片放在框里,但是是充满框的,即会出现拉伸,则调用
op.resize(width, height, '!');
3.输入和输出的图片格式
《1》你本地已经有图片了,你只需要告知原路径及变换后新生成的图片的路径就OK
op.addImage(srcPath);
op.addImage(newPath);
cmd.run(op);
或
op.addImage();
op.addImage();
cmd.run(op,srcPath,srcPath);
这样写完图片处理模块就写完啦
《2》你的原图片只是一个输入流,你的输出图片只想要一个输出流
op.addImage("-"); // read from stdin
op.addImage("jpg:-"); // write to stdout in jpg-format 注意这里的jpg可以根据你的图片格式而改变,但是必须要有,否则不知道你要以何格式生成转换后的图片
Pipe pipeIn = new Pipe(is, null);
Pipe pipeOut = new Pipe(null, os);
cmd.setInputProvider(pipeIn);
cmd.setOutputConsumer(pipeOut);
cmd.run(op);
这样你就可以实现你想要的图片输出流啦
在im4java中使用GraphicsMagick的更多相关文章
- (原)Ubuntu14中安装GraphicsMagick
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5661439.html 参考网址: http://comments.gmane.org/gmane.co ...
- im4java+GraphicsMagick
package com.jeeplus.modules.isp.utils; import java.io.ByteArrayInputStream; import java.io.ByteArray ...
- im4java开发向导
0.搜索ImageMagick下载安装 1.Setting up the Environment 引入im4java到classpath 设置图片处理引擎的command searchpa ...
- 学习PHP中好玩的Gmagick图像操作扩展的使用
在 PHP 的图像处理领域,要说最出名的 GD 库为什么好,那就是因为它不需要额外安装的别的什么图像处理工具,而且是随 PHP 源码一起发布的,只需要在安装 PHP 的时候添加上编译参数就可以了. G ...
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
- app后端设计(13)--IM4JAVA+GraphicsMagick实现中文水印
在app的后台中,有时候为了标示版权,需要给图片加上水印. 在liunx中,IM4JAVA+GraphicsMagick是个高效处理图片的方案,图片的裁剪是使用了这个技术方案,为了减少不必要的开发成本 ...
- Im4java+ImageMagick/GraphicsMagick
im4java的jar包可以在maven库中找到. <dependency> <groupId>org.im4java</groupId> <artifact ...
- GraphicsMagick+Im4Java在windows和linux下的配置
GraphicsMagick介绍及安装 Im4Java包为: im4java-1.2.0.jar 直接在lib下引用即可 GraphicsMagick的安装如下: windows下: 安装:Graph ...
- JCrop+GraphicsMagick+Im4Java 实现图像裁减
Im4Java的安装文档见:http://blog.csdn.net/tangpengtao/article/details/9208047 JCrop的插件:jquery.Jcrop.js jQue ...
随机推荐
- LR开发接口脚本
char token_id,tenant_id; web_add_header("Accept","application/json"); web_ ...
- JPA 菜鸟教程 15 继承-一个表-SINGLE_TABLE
原地址:http://blog.csdn.net/JE_GE/article/details/53678422 继承映射策略 一个类继承结构一个表的策略,最终只生成一个表,这是继承映射的默认策略. 举 ...
- Android 6.0 API
Android 6.0 (M) 为用户和应用开发者提供了新功能.本文旨在介绍其中最值得关注的 API. 着手开发 要着手开发 Android 6.0 应用,您必须先获得 Android SDK,然后使 ...
- opencv 彩色图像分割(inrange)
灰度图像大多通过算子寻找边缘和区域生长融合来分割图像. 彩色图像增加了色彩信息,可以通过不同的色彩值来分割图像,常用彩色空间HSV/HSI, RGB, LAB等都可以用于分割! 笔者主要介绍inran ...
- javaScript对金额处理的方式
例如 var price = $("#price").val(); 此时price 为字符串格式 假使我们想将其乘以100 可以选择 price*100将其转换为数值格式 但是有些 ...
- 我的CSS命名规则
常见class关键词: 布局类:header, footer, container, main, content, aside, page, section 包裹类:wrap, inner 区块类:r ...
- 图学ES6-3.变量的解构赋值
- 【LOJ】#2886. 「APIO2015」巴厘岛的雕塑 Bali Sculptures
题解 感觉自己通过刷水题混LOJ刷题量非常成功 首先是二进制枚举位,判是否合法 要写两个solve不是很开心,\(A\)不为1的直接记录状态\(f[i][j]\)为能否到达前\(i\)个分成\(j\) ...
- 【LOJ】#2080. 「JSOI2016」病毒感染
题解 那个限制表示一回头要治完前面的所有病人 我们处理一个g[i][j]表示治疗i到j的病人至少会死多少病人 \(g[i][j] = g[i + 1][j] + sum[i + 1,j] + min( ...
- bzoj 1151: [CTSC2007]动物园zoo
思路:因为每个人最多只能看到五个动物,我们考虑将其状压,f[ i ][ s ] 表示到了第 i 个位置, i, i + 1, i + 2, i + 3, i + 4这四个动物的状态为s, 此时的最大值 ...