Android平台png转jpg的实现

来源:互联网 发布:java代码实现充值功能 编辑:程序博客网 时间:2024/06/05 09:13

前几天想在android实现一个png转jpg的功能,就在网上搜了一下,好几个地方都出现了如下这段让人无力吐槽的代码

byte[] b=null;File PNG = null;        BufferedOutputStream stream = null;        try {            PNG = new File(outputFile);            FileOutputStream fstream = new FileOutputStream(PNG);            stream = new BufferedOutputStream(fstream);            stream.write(b);        } catch (Exception e) {            // log.error("helper:get file from byte process error!");            e.printStackTrace();        } finally {            if (stream != null) {                try {                    stream.close();                } catch (IOException e) {                    // log.error("helper:get file from byte process error!");                    e.printStackTrace();                }            }        }Bitmap bitmap=BitmapFactory.decodeByteArray(b, 0, b.length);

居然想从 OutputStream 中读取数据,而且 b[] 没有 new 对象。

看来还是得自己动手啊,稍微研究了一下 Bitmap,发现其中转图挺简单的,具体代码如下:

import android.graphics.Bitmap;import android.graphics.BitmapFactory;import java.io.BufferedOutputStream;import java.io.FileOutputStream;import java.io.IOException;public class PngConverter {    public static void convertToJpg(String pngFilePath, String jpgFilePath) {        Bitmap bitmap = BitmapFactory.decodeFile(pngFilePath);        try (BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(jpgFilePath))) {            if (bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos)) {                bos.flush();            }        } catch (IOException e) {            e.printStackTrace();        }    }}
0 0
原创粉丝点击