在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 ...
随机推荐
- javascript对话框(弹出层)组件
http://www.blueidea.com/download/product/2010/7513.asp#comment 1. 从头到尾对一遍<<Javascript高级程序设计> ...
- MVC Autofac依赖注入
通过Dll实现全部类的属性注入,该演示实例主要通过多层架构中单一的对象方式来演示,没有采取接口的方式, 新建AutoFacHelper类,如下代码: public class AutoFacHelpe ...
- yolov2在CUDA8.0+cudnn8.0下安装、训练、检测经历
这次用yolov2做检测时遇到个大坑,折腾了我好几天,特以此文记录之. 一.安装cuda+cudnn 它们的版本必须要匹配,否则训练后检测不出目标! 1.下载cuda8.0.61_375.26_lin ...
- lnmp “.user.ini”无法删除解决方法
LNMP无法删除或更改权限,显示:rm: cannot remove `.user.ini’: Operation not permitted 无法删除“.user.ini”文件解决方法,运行后删除即 ...
- android4.0后无法向Servlet发送请求解决办法
从4.0开始,强制性地规定网络堵塞任务都不能放在ui线程,不然直接报错. 个办法,在oncreate下面加入 StrictMode.setThreadPolicy(new StrictMode.Thr ...
- KnockoutJs学习笔记(九)
由于component binding部分的内容更为复杂一些,所以这部分我暂时跳过,先学习click binding部分. click binding不仅可以作用于button.input.a等元素, ...
- adb shell 命令计算APP应用的 FPS 和评价流畅度。
设计初衷: 1.面临用户和公司内领导试用中反馈的卡顿问题,思考如何能有效量化评估? 2.如何在尝试复现卡顿的过程中持续监控FPS和丢帧情况? 操作说明如下: (1)脚本源码的下载:(https://p ...
- 【AtCoder】ARC101题解
C - Candles 题解 点燃的一定是连续的一段,枚举左端点即可 代码 #include <bits/stdc++.h> #define enter putchar('\n') #de ...
- 如何用node.js批量给图片加水印
上一篇我们讲了如何用node.js给图片加水印,但是只是给某一张图片加,并没有涉及到批量处理.这一篇,我们学习如果批量进行图片加水印处理. 一.准备工作: 首先,你要阅读完这篇文章:http://ww ...
- Win7如何解决telnet不是内部或外部命令的方案!
https://jingyan.baidu.com/article/7908e85c6ec355af491ad265.html Telnet用于远程操作互联网中的设备或终端计算机服务器,可以有效的减少 ...