`
ofc38ofc
  • 浏览: 18141 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

GIF图片转换

阅读更多

GIF图片转换
2011年09月01日
  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_MID DLE_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_BOT TOM_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_COV ER_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_smo oth.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