我是Android开发的新手,我现在正在开发一个项目。这个项目是关于使用位图将图片加载到屏幕上。将图片加载到屏幕后,我想在加载的位图顶部添加一些图标/绘图,然后保存。
以下是我的代码的一部分,用于将单个图像加载到屏幕上。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case SELECT_PICTURE_ACTIVITY_REQUEST_CODE:
if (resultCode == RESULT_OK){
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn,
null, null, null);
if (cursor.moveToFirst()){
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
Bitmap bitmap = BitmapFactory.decodeFile(filePath);
targetImage.setImageBitmap(bitmap);
}
cursor.close();
}
break;
}
}
这是我的xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ImageView>
我的xml代码只包含一个表示整个屏幕将用于显示我的图片。
现在,我遇到了如何在我的位图上加载一些图标或绘图然后保存它的问题?我在我的选项菜单中有一个“添加”选项,我希望当我在选项菜单中按“添加”按钮时,有一个列表在我的可绘制文件中显示一些图标/可绘制,并且在我选择了一个图标后,所选图标将出现在我的原始位图图片的顶部。此外,我希望我可以将图标拖动到任意位置,然后保存。
请给我一个帮助,这是非常紧急的!
非常感谢!
答案 0 :(得分:0)
我不是百分百肯定你为什么这么接近这个问题。我认为将背景设置为主要绘图的标准布局会更好,但我相信LayerDrawable是您正在寻找的。 p>
Drawable[] layers = new Drawable[2];
layers[0] = bitmap;
layers[1] = icon;
... add more here
LayerDrawable layerDrawable = new LayerDrawable(layers);
targetImage.setImageDrawable(layerDrawable);