繁体   English   中英

如何正确将图像保存到SD卡?

[英]How to save images correctly to sd-card?

我是一个几乎没有编码知识的android初学者。 我已经在viewfippler画廊中实现了一个保存按钮,但是我在这行上遇到了两个错误:“位图位图= getBitmapFromImageView(ImageView imageView);” 在saveimage()方法中。 编译器说期望是“)”,并且在上面指定的行上有非法的表达式开始。 相关代码如下。

ViewFlipper.java

    public class ViewFlipperActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        findViewById(R.id.btnSave).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                saveimage();
            }
        });

       ........

}
    public Bitmap getBitmapFromImageView(ImageView imageView) {
        int viewWidth = imageView.getWidth();
        int viewHeight = imageView.getHeight();
        Bitmap bitmap = Bitmap.createBitmap(viewWidth, viewHeight, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        imageView.layout(0, 0, viewWidth, viewHeight);
        imageView.draw(canvas);
        return bitmap;
    }


    public static void saveimage(){


        Bitmap bitmap = getBitmapFromImageView(ImageView imageView);

        File f =new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/HD GOSPEL LOCKSCREENS");
        if(!f.exists())
        {
            f.mkdirs();
        }
        f = new File(f.getAbsolutePath(),
                String.valueOf(System.currentTimeMillis()) +"hdgospelLockScreen.jpg");
        if(!f.exists())
        {
            try {
                f.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        try {
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(f));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
   .......

}

您的语法不正确。 更改此行: Bitmap bitmap = getBitmapFromImageView(ImageView imageView); Bitmap bitmap = getBitmapFromImageView(imageView); 其中imageView是一个ImageView对象。

编辑:此外,您的静态函数saveImage应该采用ImageView对象:

public static void saveImage(ImageView imageView) {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM