网格环境下ImageMagick功能的实现 国家天文台 王晓倩 第三届中国虚拟天文台研讨会 2004-12-02 武汉
内容 为什么要对ImageMagick封装 ImageMagick的功能 工作流程
网格环境下ImageMagick的封装 China-VO的体系结构: 现有大量天文软件 “开放的软件、廉价的硬件”的原则 从下到上依次是:构造层、资源层、汇集层和用户层 现有大量天文软件 “开放的软件、廉价的硬件”的原则
- Astronomical Utilities - Image Manipulation 软件的分类: - Astronomical Utilities - Image Manipulation - Math and Statistics - Plotting simple I/O and simple user interface
ImageMagick 开源软件: http://www.imagemagick.org 支持多种图像格式(90多种主要格式) 多种图形功能 多种操作方式: ( command line 或者 编程语言接口C, C++,Perl, Java, PHP 等) 稳定的API JMagick 是ImageMagick 的Java编程接口
ImageMagick功能简介 将图片从一个格式转换到另一个格式 改变尺寸、旋转、锐化(sharpen)、减色、图片特效 缩略图片的合成图( a montage of image thumbnails) 适于web的背景透明的图片 将一组图片做成gif动画 将几张图片做成一张组合图片 在一个图片上写字或画图形 给图片加边框或框架 取得一些图片的特性信息
ImageMagick图形操作 Commandline convert [ [ options ... ] [ input-file ... ] ... [ output-file ] ] display [ options ... ] file ... [ [options ... ]file ... ] composite [ options ... ] change-image base-image [ mask-image ] output-image JMagick jmagick.jar: MagickImage.class MagickInfo.class ……
服务开发环境 Redhat 9.0+Globus Toolkit3.0 ImageMagick 5.5.7 Jmagick 5.5.6 Tomcat 4.1
工作流程
Web client(convert3.html) 功能描述 关键步骤 JavaBean:smartupload.jar 提交:字节流的方式 接收:<jsp:useBean id="mySmartUpload" scope="page" class=“com.jspsmart.upload.SmartUpload” /> -------使用bean File----------Byte[]
Web server/Grid client(rotation.jsp) <jsp:useBean id="file_reader" class="fileReader.fileReader" scope="session"/> javaBean: fileReader.class FormatConvertClient cc=new FormatConvertClient("http://192.168.3.26:8080 /ogsa/services/org/FormatConvert/FormatConvertFactoryService","null"); byte[] out=cc.getFormatConvert(in,this.outputType); Byte[ ]
Byte[]---------File------------Byte[] Grid server 函数原型 public byte[] getRotation(byte[] input, double degrees); public byte[] getFormatConvert(byte[] input, String outputType); public byte[] getQuantization(byte[] input); …… 功能说明 格式转换、旋转、量子化、边框、剪切、锐化等。 参数说明 字节流,旋转角度,转换类型,边框颜色宽度等。 Byte[]---------File------------Byte[]
请大家观看演示
Q&A
Thank you!