Upload
molly-cervantes
View
80
Download
15
Embed Size (px)
DESCRIPTION
网格环境下 ImageMagick 功能的实现. 国家天文台 王晓倩 第三届中国虚拟天文台研讨会 2004-12-02 武汉. 内容. 为什么要对 ImageMagick 封装 ImageMagick 的功能 工作流程. 网格环境下 ImageMagick 的封装. China-VO 的体系结构: 从下到上依次是:构造层、资源层、汇集层和用户层 现有大量天文软件 “开放的软件、廉价的硬件”的原则. 软件的分类: - Astronomical Utilities - Image Manipulation - PowerPoint PPT Presentation
Citation preview
网格环境下 ImageMagick功能的实现
国家天文台 王晓倩第三届中国虚拟天文台研讨会
2004-12-02 武汉
内容• 为什么要对 ImageMagick 封装• ImageMagick 的功能• 工作流程
网格环境下 ImageMagick 的封装
• China-VO 的体系结构: 从下到上依次是:构造层、资源层、汇集层和
用户层• 现有大量天文软件
“ 开放的软件、廉价的硬件”的原则
• 软件的分类: - 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++,Per
l, 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
工作流程
Upload File1
Download File4
Byte[]1
File3
File2图像处理
Byte[]2
Web
Grid
Web Client Web Server
Grid Client Grid Server
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)
• 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[ ]
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!