首页 > 解决方案 > 从位图保存图像时出错。给出 NullPointException 错误

问题描述

我正在尝试从相机意图中拍照并在图像(叠加)上添加一些文本视图,然后保存此混合图像。为此,我使用下面的代码。

主要问题:当我把它放在按钮的点击列表下时,这段代码工作得很好。但是当我把它放在“onCreate”方法中时,它显示一个错误“尝试调用虚拟方法'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat,int,java.io.OutputStream)'空对象引用”。

我为此搜索了很多。尝试了 stackvoerflow 中提供的几乎所有解决方案。

   private void saveImage() {
        try {
            frameLayout.setDrawingCacheEnabled(true);
            frameLayout.buildDrawingCache();
//            drawingCache = BitmapFactory.decodeResource(getResources(), R.id.imageview);
//            drawingCache = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
            drawingCache = frameLayout.getDrawingCache();
            String timeStamp = new SimpleDateFormat("ddMMyyyy_hhmmss").format(new Date());
            saveImageFile = new File(path, "my_folder" + timeStamp + ".jpg");
            OutputStream fOut = new FileOutputStream(saveImageFile);
            tempPhoto = saveImageFile;
            drawingCache.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
            fOut.flush();
            fOut.close();
            Toast.makeText(this, "Image Saved Successfully", Toast.LENGTH_SHORT).show();
            deleteTempImage(mCurrentPhotoPath);
//            Toast.makeText(this, mCurrentPhotoPath, Toast.LENGTH_LONG).show();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

我想在 onCreate 方法中执行 saveImage 功能,否则用户每次都会强制单击“保存”按钮。请帮我。为此,我花了将近 2 天的时间。

标签: androidandroid-bitmapsave-image

解决方案


推荐阅读