从URL裁剪图像

时间:2012-07-14 17:18:19

标签: android android-intent

我有以下内容:

图片所在位置的非常长的网址(在互联网上)

String imageAddress = data.getExtras().get("imageHTTP").toString();

返回正常,并且有一个以.jpg结尾的图像

下一部分是我遇到问题的地方。 基本上我有一个接受Uri的作物意图,但以下不起作用:

Uri imageUri = Uri.parse(imageAddress);
Intent intent = new Intent(this, com.android.camera.CropImage.class);
intent.setData(uri);
intent.putExtra("return-data", true);
startActivityForResult(intent, CROP);

有什么想法吗?

以下错误代码:

got exception decoding bitmap 
java.lang.NullPointerException
at com.android.camera.Util.makeInputStream(Util.java:337)

1 个答案:

答案 0 :(得分:0)

我想出来了。更容易将其保存到sdcard临时然后裁剪,然后删除临时的。之后,我通过下载的裁剪库运行它(不知道从哪里下载它,但有一些)。

File file = null;

            try {
                URL myImageURL = new URL(imagePath);
                HttpURLConnection connection = (HttpURLConnection)myImageURL.openConnection();
                connection.setDoInput(true);
                connection.connect();
                InputStream input = connection.getInputStream();

                // Get the bitmap
                Bitmap myBitmap = BitmapFactory.decodeStream(input);

                // Save the bitmap to the file
                String path = Environment.getExternalStorageDirectory().toString() + "/polygonattraction/app/";
                OutputStream fOut = null;
                file = new File(path, "temp.png");
                fOut = new FileOutputStream(file);

                myBitmap.compress(Bitmap.CompressFormat.PNG, 85, fOut);
                fOut.flush();
                fOut.close();
            }
            catch (IOException e) {}

            Log.w("tttt", "got bitmap");

            Uri uri = Uri.fromFile(file);