亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android Java中如何將位圖轉換為圖像

Android Java中如何將位圖轉換為圖像

ibeautiful 2023-10-13 10:26:51
我想將我的位圖轉換為圖像,而不是可繪制的圖像,我已經看到了一些示例,他們正在將位圖轉換為可繪制的圖像,但我需要 media.image(image) ,然后我用進一步的邏輯處理該圖像。幫我解決這個問題簡而言之,我需要將位圖轉換為圖像。 Bitmap original_with_water_mark= addWatermark(original_image_bitmap,water_mark_bitmap,300);我需要original_with_water_mark bitmap將其轉換為要存儲的圖像。但我不知道如何將該位圖轉換為圖像因為在運行函數中,在開始時看到我需要mImage哪個是我必須存儲的圖像 @Override        public void run() {            ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();            byte[] bytes = new byte[buffer.remaining()];            buffer.get(bytes);            FileOutputStream output = null;            try {                output = new FileOutputStream(mFile);                output.write(bytes);            } catch (IOException e) {                e.printStackTrace();            } finally {                mImage.close();                if (null != output) {                    try {                        output.close();                    } catch (IOException e) {                        e.printStackTrace();                    }                }            }        }
查看完整描述

2 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

yu can use:-


    private void save(){ 

    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss", Locale.ENGLISH);

    filename = sdf.format(new Date());


    try {

        String path = getApplicationContext().getFilesDir().getPath();

        OutputStream fOut = null;

        File file = new File(path, "MYFile"//your file name);

        if (!file.exists()) {

            file.mkdirs();

        }


        File file2 = new File(file, filename + ".png");

        fOut = new FileOutputStream(file2);



        //your bitmap

        original_with_water_mark.compress(Bitmap.CompressFormat.PNG, 100, fOut);

        fOut.flush();

        fOut.close();

    }

}


查看完整回答
反對 回復 2023-10-13
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

您可以將其以任何圖像格式保存在本地存儲中。


private void storeImage(Bitmap image) {

File pictureFile = getOutputMediaFile();

if (pictureFile == null) {

    Log.d(TAG,

            "Error while creating media file, Please ask for storage permission");

    return;

try {

    FileOutputStream fos = new FileOutputStream(pictureFile);

    image.compress(Bitmap.CompressFormat.PNG, 90, fos);

    fos.close();

} catch (FileNotFoundException e) {

    Log.d(TAG, "File not found: " + e.getMessage());

} catch (IOException e) {

    Log.d(TAG, "Error accessing file: " + e.getMessage());

}  

}


private  File getOutputMediaFile(){


File mediaStorageDir = new File(Environment.getExternalStorageDirectory()

        + "/Android/data/"

        + getApplicationContext().getPackageName()

        + "/Files"); 



if (! mediaStorageDir.exists()){

    if (! mediaStorageDir.mkdirs()){

        return null;

    }

}  

String timeStamp = new SimpleDateFormat("ddMMyyyy_HHmm").format(new Date());

File mediaFile;

    String mImageName="MI_"+ timeStamp +".jpg";

    mediaFile = new File(mediaStorageDir.getPath() + File.separator + mImageName);  

return mediaFile;

}


查看完整回答
反對 回復 2023-10-13
  • 2 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號