`
neptune
  • 浏览: 357673 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

GIF图片转换

阅读更多
http://security.iteye.com/blog/35023




2年前,我提供了一个GIF4J的可用版,GIF4J是一套针对gif操作的Java类库。
周末无聊,最终破解了Gif4J的"Eval Gif4j"。
import  com.gif4j. * ;

import  java.awt. * ;
import  java.awt.image.BufferedImage;
import  java.io.File;
import  java.io.IOException;


public   class  GifImageWatermarkExample {

     //  Usage: java GifImageWatermarkExample [PathToGifImageToWatermark] (please be sure that the gif4j jar is in your CLASSPATH)
     //  By default the gif4j_logotype.gif as an example gif image is used
     public   static   void  main(String[] args) {
        File gifImageFileToWatermark  =   null ;
         if  (args.length  ==   0 ) {
            gifImageFileToWatermark  =   new  File( " test.gif " );
        }  else
            gifImageFileToWatermark  =   new  File(args[ 0 ]);

         //  load and decode gif image
        GifImage gifImage  =   null ;
         try  {
            gifImage  =  GifDecoder.decode(gifImageFileToWatermark);
        }  catch  (IOException e) {
            e.printStackTrace();
            System.exit( 1 );
        }

         //  change out directory if it is necessary
        File outputDir  =   new  File( " . "   +  File.separator  +   " result " );
         if  ( ! outputDir.exists())
            outputDir.mkdirs();

         //  create watermark image using TextPainter
        TextPainter painter  =   new  TextPainter( new  Font( " Verdana " , Font.BOLD,  10 ));
        painter.setOutlinePaint(Color.WHITE);
        BufferedImage watermarkImage  =  painter.renderString( " david.turing " ,  true );

         //  create watermark
        Watermark watermark  =   new  Watermark(watermarkImage, Watermark.LAYOUT_TOP_LEFT,  0.2f );

         //  apply watermark
        GifImage topLeftWatermarked  =  watermark.apply(gifImage,  true );
         //  apply watermark smoothly
        GifImage topLeftWatermarked_smoothly  =  watermark.apply(gifImage,  true );

         //  change the watermark alignment
        watermark.setLayoutConstraint(Watermark.LAYOUT_MIDDLE_CENTER);

         //  apply watermark
        GifImage middleCenterWatermarked  =  watermark.apply(gifImage,  false );
         //  apply watermark smoothly
        GifImage middleCenterWatermarked_smoothly  =  watermark.apply(gifImage,  true );

         //  change the watermark alignment
        watermark.setLayoutConstraint(Watermark.LAYOUT_BOTTOM_RIGHT);

         //  apply watermark
        GifImage bottomRightWatermarked  =  watermark.apply(gifImage,  false );
         //  apply watermark smoothly
        GifImage bottomRightWatermarked_smoothly  =  watermark.apply(gifImage,  true );

         //  change the watermark alignment
        watermark.setLayoutConstraint(Watermark.LAYOUT_COVER_CONSECUTIVELY);
         //  change the watermark transparency
        watermark.setTransparency( 0.20f );

         //  apply watermark
        GifImage coverConsWatermarked  =  watermark.apply(gifImage,  false );
         //  apply watermark smoothly
        GifImage coverConsWatermarked_smoothly  =  watermark.apply(gifImage,  true );

         //  Save the results
         try  {
            GifEncoder.encode(topLeftWatermarked, new  File(outputDir, " topLeftWatermarked.gif " ));
            GifEncoder.encode(topLeftWatermarked_smoothly, new  File(outputDir, " topLeftWatermarked_smooth.gif " ));
            GifEncoder.encode(middleCenterWatermarked, new  File(outputDir, " middleCenterWatermarked.gif " ));
            GifEncoder.encode(middleCenterWatermarked_smoothly, new  File(outputDir, " middleCenterWatermarked_smooth.gif " ));
            GifEncoder.encode(bottomRightWatermarked, new  File(outputDir, " bottomRightWatermarked.gif " ));
            GifEncoder.encode(bottomRightWatermarked_smoothly, new  File(outputDir, " bottomRightWatermarked_smooth.gif " ));
            GifEncoder.encode(coverConsWatermarked, new  File(outputDir, " coverConsWatermarked.gif " ));
            GifEncoder.encode(coverConsWatermarked_smoothly, new  File(outputDir, " coverConsWatermarked_smooth.gif " ));
        }  catch  (IOException e) {
            e.printStackTrace();
        }
    }
}
下面是运行的结果:
topLeftWatermarked.gifmiddleCenterWatermarked.gif
coverConsWatermarked.gifbottomRightWatermarked_smooth.gif

破解的包放在我的UserGroup下载:
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=29304&threadID=36395&messageID=214504
分享到:
评论

相关推荐

    swf转gif图片转换器

    swf转gif图片转换器 swf gif 格式转换

    qt实现gif图片转换器源码

    最近,QQ上好多各种gif表情。每一个都很经典呀。于是我就想把它转换成一张张静态图片。没学过ps。于是写了几行代码。完工。更多资源。欢迎关注我的博客: http://blog.csdn.net/wu5151

    GIF图片转换为SWF工具

    可以将GIF各式图片转换为SWF的小工具,相信会有很多同学用得到!

    单片机LCD图片转换工具,Gif图片提取

    支持bmp,jpg,ico,gif图片转换和数据提取,gif图片画帧提取,单片机lcd格式转换等。

    静图变gif 图片转换

    静图变gif 很好玩的一个小软件,有了几张图片就可以操作了。

    java图片压缩文件大小图片大小(支持gif动态图)

    支持压缩图片的大小,可以根据想要的高度进行压缩。也支持过大压缩变小。支持各种静态图片和gif动态图片。

    Java gif图片转换为jpg格式

    主要介绍了Java gif图片转换为jpg格式的实例代码,文中给大家提到了用java将png图片转换成jpg格式的图片,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    GIF转换器将GIF转换为其他格式的图片

    GIF转换器,GIf转化,GIF转换器GIF转换器,GIf转化,GIF转换器GIF转换器,GIf转化,GIF转换器GIF转换器,GIf转化,GIF转换器GIF转换器,GIf转化,GIF转换器GIF转换器,GIf转化,GIF转换器GIF转换器,GIf转化,GIF转换器GIF转换器,...

    GIF图像转换字符

    GIF图像转换 GIF图像转换 GIF GIF图像转换图像转换

    GIF图片处理工具

    GIF图片转换工具,功能一目了然,操作简单

    AiltGIFtoWordConverter(GIF转Word工具)v6.5免费安装版

    Ailt GIF to Word Converter是一款功能强大的转换工具。该款工具可认保留原始的布局,和gif文件中的文字。... 支持多种GIF图片版本的转换(批量处理);  对于我们的照片支持光学字符识别功能(OCRA

    图片GIF转换器

    很好用的一个软件,就是不太会用,要好好的学啊

    gif转换png的工具

    自己写的一个Gif转Png的小工具,可以方便的把大批量的gif转换为png

    GifAnimation:实现将gif图片转换为cocos2d-x帧动画

    GifAnimation 实现将GIF动画转换为cocos2d-x帧动画,支持cocos2d-x3.0以上版本,支持跨平台。

    图片转换器 v4.2.1

    支持各种图片格式:BMP、JPEG、PNG、TIF、GIF、PSD、ICO、PDF等,支持ICO透明色转换,支持GIF动态图片转换;更改图片的颜色、画质、亮度、对比度、DPI等;按照比例或自定的数值调整图片的尺寸、旋转图片;添加自定义...

    Android-视频或多张图片转换成GIF图Android实现

    视频或多张图片转换成GIF图 Android实现

    image2Gif转换器

    靖源image2Gif转换器是一款把bmp/jpg/png等格式图片序列转换成高质量gif图片/动画的软件,是一款把gif图片/动画转换为bmp/jpg格式序列文件的图片.转换速度快,质量高.如果您对转换效果要求比较高,不妨看看这款软件!...

    视频转换成gif工具

    视频转换成gif工具 很好用的工具,可以直接把视频转换成gif图片格式

    图片转换器

    支持各种常用图片格式:BMP、WBMP、JPEG、PNG、TIF、GIF、PSD、ICO、PCX、TGA、JP2、PDF等,并且支持ICO透明色以及GIF动态图片转换。 图片转换器支持对图片的颜色、画质、亮度、对比度、DPI等属性的修改。 图片...

    非常好用的gif图片生成工具

    非常好用的gif图片生成工具,免安装版本。

Global site tag (gtag.js) - Google Analytics