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 格式转换
今天我们将深入探讨如何使用“GIF图片转换为SWF工具”这一小工具,来实现这两种格式之间的转换。 首先,GIF是一种支持多帧动画的位图格式,它支持透明度,并且文件大小相对较小,适合在网络上传输。然而,GIF不支持...
支持bmp,jpg,ico,gif图片转换和数据提取,gif图片画帧提取,单片机lcd格式转换等。
- EzGIF:一个在线平台,用户无需下载软件即可上传图片并将其转换为GIF。 - Animaker:除了基本的GIF制作,还提供各种动画模板,适合制作复杂动效。 4. 使用步骤 - 导入图片:将需要转换的静态图像导入到软件中...
最近,QQ上好多各种gif表情。每一个都很经典呀。于是我就想把它转换成一张张静态图片。没学过ps。于是写了几行代码。完工。更多资源。欢迎关注我的博客: http://blog.csdn.net/wu5151
GifAnimation项目就是为了解决这个问题,它提供了将GIF图片转换为cocos2d-x帧动画的功能,并且支持cocos2d-x 3.0及以上版本,具有良好的跨平台兼容性。 1. **GIF图片解析** GIF是一种流行的位图格式,特别适合用于...
通常,用户可以通过以下步骤进行图片转换: 1. 打开软件,点击“添加文件”按钮,导入需要转换的图片或者视频。 2. 在设置面板中,你可以选择转换的输出格式为GIF,并调整相关的参数,如帧速率、颜色质量等,以达到...
这个主题主要涉及如何利用Java来减少图片文件的大小,包括静态图片(如JPEG、PNG)以及动态图片(如GIF)。下面我们将深入探讨相关的知识点。 首先,Java中的核心库`javax.imageio`提供了对图片读取、写入和处理的...
描述中的“GIF图片转换工具,功能一目了然,操作简单”强调了该工具的易用性和直观性。这表明它可能设计得非常用户友好,没有复杂的设置或技术术语,使得无论是初级用户还是高级用户都能快速上手。转换功能可能包括...
以下是一些关于如何将jpg、png、gif图片转换为WebP格式的关键知识点: 1. **WebP格式特性**: - 静态图像:WebP支持有损和无损压缩,无损压缩类似于PNG,有损压缩类似于JPEG,但压缩效果更好。 - 动画支持:虽然...
10. **GIF预处理**:在应用启动时或在后台处理,将大的GIF图片转换为更小的尺寸或静态的序列图片,然后在需要时加载。 综上所述,解决Android中显示大GIF图片导致的内存溢出问题,需要结合多种策略,包括但不限于...
当用户首次访问页面时,插件会将GIF图片转换为静态预览图,减少初始加载时间。然后,当用户点击播放按钮时,JavaScript会读取GIF数据,逐帧在Canvas上绘制,实现动画效果。 在实际应用中,这个插件包含以下几个主要...
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图像转换图像转换
Ailt GIF to Word Converter是一款功能强大的转换工具。该款工具可认保留原始的布局,和gif文件中的文字。... 支持多种GIF图片版本的转换(批量处理); 对于我们的照片支持光学字符识别功能(OCRA
在Java中实现GIF格式图片转换为JPEG格式图片的过程涉及几个关键的Java类和方法,主要包括BufferedImage类、ImageIO类以及相关的图形处理技术。下面详细阐述这些知识点: 首先,BufferedImage类是Java中用于处理图像...
标题中的“gif转换png的工具”指的是一个程序或软件,其主要功能是将.gif格式的图像文件转换成.png格式的图像文件。在计算机图形处理领域,这两种格式各有特点:GIF(Graphics Interchange Format)是一种支持动画和...
本篇文章将深入探讨"GIF swf 转换"这一主题,解析这两种图像格式的特点,并介绍如何进行有效的转换。 GIF(Graphics Interchange Format)是一种流行的位图图像格式,它支持动画并且具有透明度功能。GIF文件通常...
在Android开发中,图片加载与展示是至关重要的环节,尤其在处理动态图像时,如GIF格式。然而,由于Android原生系统对GIF支持有限,开发者常常需要寻找合适的方法来处理这种格式的图片。"Android-gif2png"就是一个...
6. **导入和使用**:在Unity中,需要将这些资源导入到Assets目录下,然后在C#脚本中引用Gif.Component.dll,创建相应对象实例,调用其提供的方法进行图片转换。在游戏运行时,这些脚本将负责处理图片的转换工作。 7...