`
yixibo
  • 浏览: 185496 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用PngEncoder压缩png图片

 
阅读更多


PngEncoder,它的主要功能是 把java的Image对象或者BufferedImage对象转换成Png格式,并且也有压缩功能。详细资料请参阅官方文档,我在这里给出一个代码的例子,供参考。

  public static void handlePic(String sourceFile,String outFile,int w,int h)
 {
  try
  {
   long t1=System.currentTimeMillis();
   w=80;h=80;
  double ratioH=0.0;
  double ratioW=0.0;
  File file=new File(sourceFile);
  File dbFile=new File(outFile);
  
  BufferedImage srcPic=ImageIO.read(file);
  
  Image itemp=srcPic.getScaledInstance(w,h,srcPic.SCALE_SMOOTH);
  
  ratioW=((double)w)/srcPic.getWidth();
  ratioH=((double)h)/srcPic.getHeight();
  
  AffineTransformOp op=new AffineTransformOp(AffineTransform.getScaleInstance(ratioW,ratioH),null);
  itemp=op.filter(srcPic,null);
  
  PngEncoder encoder=new PngEncoder(itemp);
  
  //encoder.setCompressionLevel(5);
  encoder.setEncodeAlpha(false);
  encoder.setCompressionLevel(9);
  encoder.pngEncode();
  
  byte[] result=encoder.pngEncode();
  FileOutputStream fos=new FileOutputStream(outFile);
  fos.write(result);
  fos.close();
  System.out.println(System.currentTimeMillis()-t1);
  Thread.sleep(1000L);
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }
  
 }

分享到:
评论

相关推荐

    PngEncoder.java针对java平台处理png压缩算法

    PngEncoder.java针对java平台处理png压缩算法

    图片压缩flex demo

    在Flex中,可以使用BitmapData的compress()方法,传入合适的压缩格式(如JPEGEncoder或PNGEncoder)和质量参数来实现压缩。 总的来说,"图片压缩flex demo"是一个使用Flex技术演示如何加载图片、压缩图片并保存压缩...

    android图片压缩的处理.zip

    开发者还可以自定义压缩算法,例如使用JPEGEncoder或PNGEncoder进行编码。 8. **Android系统API提供的图片压缩方法**: `compress(Bitmap.CompressFormat format, int quality, OutputStream stream)`是Bitmap类的...

    pngencoder_202.zip

    在实际应用中,PngEncoder的灵活性允许开发者调整PNG图像的各种属性,例如是否启用透明度、颜色深度、压缩级别等。这使得该库非常实用,尤其是在生成图表、动态图形或处理用户上传的图像时。 值得注意的是,...

    PNGEncoder2:一个更好的 Flash PNG 编码器

    这是我的 PNGEncoder2 库的快速入门指南,它将 BitmapData 对象压缩为 PNG 文件(存储在 ByteArray 对象中)。 要更深入地解释它的工作原理,请查看我的。 特征 极快的性能:用编写并针对速度进行了高度调整,它的...

    PNGEncoder

    AS3位图压缩类,PNG编码. 通过PNGEncoder对bitmapdata进行encode转换为对应图像格式的bytearray,PNGEncoder 类使用便携网络图形 (PNG) 无损压缩将原始位图图像转换为编码图像。

    emf&wmf转png.zip

    然而,在现代网页和图形设计中,PNG(Portable Network Graphics)因其无损压缩、透明度支持和广泛兼容性而更受欢迎。因此,将EMF和WMF转换为PNG格式对于跨平台共享和网络使用是很有必要的。 这个名为"emf&wmf转png...

    PNGEncoder,JPEGEncoder图像编码

    通过PNGEncoder、JPEGEncoder对bitmapdata进行encode转换为对应图像格式的bytearray,这时会根据对应图像格式的压缩算法转换为编码图像...PNGEncoder 类使用便携网络图形 (PNG) 无损压缩将原始位图图像转换为编码图像。

    AS3中的PNG编码—用FLASH生成PNG

    PNG(Portable Network Graphics)是一种无损压缩的位图格式,广泛应用于网页设计、图形用户界面和软件开发中。它支持透明度,并且比JPEG更适合于存储线条清晰、颜色层次较少的图像。 AS3是Adobe Flash Player和...

    BatchChange_C#_bmp转换png_shownv1g_

    在项目“BatchChange_C#_bmp转换png_shownv1g_”的压缩包中,可能包含了这个程序的完整实现以及一些示例图片供测试使用。运行程序后,它将读取`pic`目录下的BMP文件并转换为PNG格式,保存在同一个目录下,方便进一步...

    ResizingPNG:一个简单的算法来调整PNG的大小

    PNG(Portable Network Graphics)是一种广泛使用的无损图像格式,它以高效的压缩算法和透明度支持而受到青睐。在处理PNG图像时,有时我们需要调整其大小,例如为了适应不同的屏幕尺寸或优化网页加载速度。本文将...

    FLASH在线拍照程序

    【描述】中提到的关键点是,该程序包括一个ASP(Active Server Pages)上传页面,这意味着服务器端使用的是微软的脚本语言ASP,用于处理从客户端上传的图片数据。此外,它特别强调了易集成性,可以方便地与其他网站...

    java远程屏幕监控系统

    2. **图像编码与解码**:由于屏幕画面通常是连续变化的,需要将这些图像数据高效地编码成适合在网络上传输的格式,如JPEG或PNG。Java的ImageIO类可以用于读取、写入和处理图像,而JPEGEncoder和PNGEncoder则用于编码...

    as3corelib.swc

    1. **图像处理**:`as3corelib` 包含了`com.adobe.images` 命名空间,其中提供了`JPEGEncoder`和`PNGEncoder`等类,支持对BitmapData对象进行JPEG或PNG格式的编码,便于图像的压缩和存储。 2. **XML处理**:`...

    as3比较详尽的工具类

    PNGEncoder.as ---------------------- 压缩为png component: --button: BasicButton.as ---------------------- 基本的按钮MODEL AssociativeButton.as ---------------------- 串联按钮MODEL. ...

Global site tag (gtag.js) - Google Analytics