`
san_yun
  • 浏览: 2639572 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

使用jmagick做gif动画的缩略图

 
阅读更多

将gif动画生成缩略图,有一个难点,就是gif动画应该是多帧的。如果按照普通图进行缩小,比如直接调用如下语句(见在java环境中使用imagemagick):

image=image.scaleImage(60, 60);

 

只能得到第一帧的缩略图,这样就不是动画了。

需要如下调用才可生成保持动画的缩略图。

import magick.*;

/**
 * Hello world!
 *
 */
public class App
{
    public static void main( String[] args )throws Exception
    {
        MagickImage image = new MagickImage( new ImageInfo( "/home/ubuntu/10261.gif" ) );
        MagickImage[] images=image.breakFrames();
        for(int i=0;i<images.length;i++){
                images[i]=images[i].scaleImage(64,64);
        }
        image=new MagickImage(images);
        image.setImageAttribute( "Dispose","1" );
        image.setImageAttribute( "Delay","30" );
        image.setFileName("/home/ubuntu/r40.gif");
        image.writeImage(new ImageInfo());
    }
}

 面代码的基本思路就是,将gif的各帧分别生成缩略图,再合成为gif格式的图。当遇到比较大的gif动画时,过程会比较慢。

不过,在我这里的环境下,生成的gif图无法在ie浏览器播放,只能显示静态的第一帧图像。而在其他浏览器和图片查看器中,可以正常播放。

怀疑是jmagick版本问题,这里使用的是jmagick6-6.2.6-0版本。

有时间再测试下:

  1. 在windows环境下是否是这样的问题;
  2. 在ubuntu inux环境下手工编译(目前使用的是ubuntu的deb包)后运行的情况。
分享到:
评论

相关推荐

    jmagick jmagick.jar jmagick资料

    里面包括jmagick 所需所有文件,jmagick.dll,jmagick.jar 还有安装文件, 以及linux安装说明! jmagick jmagick.jar jmagick资料 jmagick缩略图 jmagick jmagick.jar jmagick资料 jmagick缩略图

    JMagick图片处理

    JMagick提供API来实现这一功能,开发者可以设置比例或固定大小,以创建不失真的缩略图。 其次,**水印**的添加则是在图片上叠加文字、图像或者其他元素,作为版权保护或装饰用途。JMagick允许开发者指定水印的位置...

    Jmagick缩图 JAVA图片处理

    本文将深入探讨“Jmagick缩图”这一主题,它是一种基于Java的图片处理工具,用于快速有效地生成图片的缩略图。 JMagick是ImageMagick的一个Java接口,ImageMagick是一个强大的跨平台图像处理库。它允许Java开发者...

    Jmagick32位的和Jmagick64位的Jmagick.dll,Jmagick.jar

    例如,一个Web应用可能使用Jmagick来动态生成缩略图,或者在上传图片时进行预处理,以确保符合规定的尺寸和格式。 总的来说,Jmagick提供了一种灵活且强大的方式,让Java开发者能够充分利用ImageMagick的图像处理...

    jmagick.jar 用法

    1. **初始化 JMagick**:在使用 JMagick 前,必须调用 `InitializeMagick(null)` 方法来初始化库。这告诉 JMagick 使用系统路径来查找 ImageMagick 库。 2. **读取图像**:可以使用 `ImageInfo` 类来加载图像文件。...

    jmagick.jar java图像应用

    jmagick.jar java图像应用

    jmagick安装和配置

    本文将详细介绍如何在Java环境中安装和配置JMagick,以及如何使用提供的示例进行测试。 ### 1. 获取必备组件 首先,你需要下载以下两个关键组件: - **jmagick.dll**: 这是JMagick的核心动态链接库,它提供了Java...

    jmagick图片处理

    jmagick处理图片,图片高质量压缩,图片加水印。

    jmagick-win-6.3.9

    - 图像处理服务:在服务器端,JMagick可以作为后台服务,对用户上传的图片进行自动化处理,如生成缩略图、调整尺寸、添加水印等。 - 数据可视化:在数据科学领域,JMagick可以帮助将复杂的数据转换成可视化的图像,...

    jmagick-win-6.3.9-Q16

    10. 动态图处理:JMagick也支持GIF这样的动画格式,可以处理动态图像序列。 在实际开发中,JMagick的性能优化也是一个重要的方面。通过合理的内存管理、缓存策略和并发处理,可以提升图像处理的效率,特别是在处理...

    jmagick6.4.0

    1. **广泛的图像格式支持**:JMagick继承了ImageMagick的强大功能,能够处理超过100种不同的图像文件格式,包括常见的JPEG、PNG、GIF、BMP以及各种专业图像格式如TIFF、PSD等。 2. **图像处理操作**:JMagick允许...

    jmagick-6.2.4-1-IM-6.2.5.zip

    描述和标签中的信息与标题相同,暗示这个压缩包可能包含了完整的JMagick源码或者二进制库,以及可能的构建或配置文件,以便用户在自己的Java项目中集成和使用JMagick。 压缩包内的文件名称列表包括: 1. README.TXT...

    jmagick 例子

    本文将深入探讨JMagick的使用实例以及如何在处理图像时防止内存泄露,以确保程序的稳定性和高效性。 JMagick是Java接口到ImageMagick的一个扩展,ImageMagick是一款强大的跨平台命令行工具,用于转换、编辑和合成...

    jmagick.zip

    6. 动态图处理:对GIF等动态图进行编辑和处理。 在Java项目中,通过JMagick的API,可以轻松集成这些功能,使得图像处理工作变得简单高效。然而,需要注意的是,虽然JMagick提供了Java接口,但底层仍然是C++实现,...

    jmagick 软件、安装说明(window和linux两个版本)

    - 在使用JMagick时,注意内存管理和性能优化,避免处理大型图像时出现性能瓶颈。 **5. 进阶学习资源** - JMagick官方文档:了解详细的API和使用示例。 - ImageMagick命令行参考:熟悉底层库的功能,有助于理解...

    jmagick-win-5.5.7-Q8.zip

    JMagick作为Java与ImageMagick之间的桥梁,提供了一种在Java环境中使用ImageMagick的强大功能。本文将深入探讨JMagick的核心概念、安装过程、使用方法以及一些实际的应用示例。 首先,JMagick是ImageMagick的一个...

    高质量图片处理Jmagick

    6.4.5-3-Q16-windows-dll.exe,jmagick.dll,jmagick.jar,压缩包中的版本统一,安装ImageMagick,复制ImageMagick安装目录的所有.dll文件和Jmagick.dll到,系统的system32下 即可使用,System.setProperty("jmagick....

    JMagick-5.5.6-0.tar.gz

    JMagick是Java版的ImageMagick,ImageMagick是一款广泛使用的开源图像处理软件,能够读取、转换和保存各种格式的图像。JMagick则将其功能融入到Java环境中,使得Java开发者可以利用C++编写的ImageMagick库进行图像...

    jmagick 用法

    本文将详细介绍 JMagick 的使用方法和关键知识点。 **1. 安装与配置** 首先,你需要下载 JMagick 和 ImageMagick。JMagick 通常会提供与特定版本的 ImageMagick 相匹配的 jar 包。将 `jmagick.jar` 添加到你的项目...

    jmagick linux file

    jmagick image generate or operator library

Global site tag (gtag.js) - Google Analytics