2012-05-03 6 views
1

私はアンドロイド開発に新しいです、そして、私は現在プロジェクトを開発中です。このプロジェクトは、ビットマップを使用して画面に画像を読み込む方法です。画像を画面に読み込んだ後、ロードしたビットマップの上にいくつかのアイコン/ドロウアブルを追加して保存します。ビッグビットマップ上にアイコンを描画するにはどうすればよいですか?

ここでは、画面に1つの画像を読み込むコードの一部です。ここで

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コードは、単に画面全体を意味している私の写真を表示するために使用しようとしているが含まれています。

今、私はいくつかのアイコンまたはdrawableを上のビットマップに読み込んで保存する方法に問題がありますか?私はオプションメニューに「追加」オプションがあります。オプションメニューの「追加」ボタンを押すと、描画可能ファイルにいくつかのアイコン/描画可能ファイルが表示され、アイコンを選択した後、選択アイコンオリジナルのビットマップ画像の上に表示されます。また、私は任意の場所にアイコンをドラッグして保存することができます期待しています。

私に助けを与えると非常に緊急です!

ありがとうございます!

答えて

0

このように問題に近づいている理由は100%わかりません。私はあなたのプライマリdrawableに設定された背景の標準レイアウトがうまくいくと思いますが、私はLayerDrawableがあなたが探しているものだと信じています。

Drawable[] layers = new Drawable[2]; 
layers[0] = bitmap; 
layers[1] = icon; 
... add more here 

LayerDrawable layerDrawable = new LayerDrawable(layers); 
targetImage.setImageDrawable(layerDrawable); 
関連する問題