我正在尝试创建一个壁纸应用程序。所有图片都来自互联网。
在设置为背景之前,我需要裁剪图像。为此,我使用名为AndroidImageCropper的API。此API需要URI对象来执行裁剪。
如何从ImageView获取Uri?因为我的形象来自互联网。图像不在可绘制文件夹中。我很困惑。也许你们可以帮助我。
public class MainActivity extends AppCompatActivity {
private NetworkImageView imageView;
private Uri mCropImageUri;
public static final String URL_PHOTO = "http://cdn.wonderfulengineering.com/wp-content/uploads/2016/02/iron-man-wallpaper-42-610x1084.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (NetworkImageView) findViewById(R.id.image_view);
// Singleton for Volley API, Load image from internet
ImageLoader loader = MySingleton.getInstance(this).getImageLoader();
loader.get(URL_PHOTO, ImageLoader.getImageListener(imageView, R.drawable.temp_picture, android.R.drawable.ic_dialog_alert));
imageView.setImageUrl(URL_PHOTO, loader);
// Put the image on URI object
// #################################
// ### mCropImageUri = <-- ###
// #################################
}
// Action for my button
public void cropImage(View view) {
// API to crop an image
CropImage.activity(mCropImageUri)
.start(this);
}
}
你对我有什么建议吗? 感谢。
答案 0 :(得分:1)
所以你正在使用排球?我对Volley不太熟悉,这只是我的一些想法。
将图像下载到Android设备后,尝试查找文件的绝对路径,并使用 android.net.Uri.fromFile 从图像中获取uri。
或者,您可以直接使用位图对象,而不是uri。
好的,经过一番调查,我认为你有两个解决方案。