0

我正在尝试将图像插入静态图像(类似于框架内的图像)。我可以在一定程度上得到它,但无法将它正确地放在给定的图像中。

橙色边框是需要动态插入到我的地图标记中的框架和占位符。

在此处输入图像描述

这是我尝试过的:

    Bitmap pic = BitmapFactory.decodeResource(getResources(),
            R.drawable.bluepic);
    Bitmap orangeframe = BitmapFactory.decodeResource(getResources(),R.drawable.orangeborder);
    Bitmap out = combineImages(orangeframe, pic);

   public Bitmap combineImages(Bitmap frame, Bitmap image) 
   {

    Bitmap cs = null;
    Bitmap rs = null;

    rs = Bitmap.createScaledBitmap(frame, image.getWidth(),
            image.getHeight(), true);

    cs = Bitmap.createBitmap(rs.getWidth(), rs.getHeight(),
            Bitmap.Config.RGB_565);

    Canvas comboImage = new Canvas(cs);

    comboImage.drawBitmap(image,0, 0, null);
    comboImage.drawBitmap(rs, 0, 0, null);

    if (rs != null) {
        rs.recycle();
        rs = null;
    }
    Runtime.getRuntime().gc();

    return cs;
}

我得到这个:

在此处输入图像描述

占位符是动态的,橙色框架图像是静态的。我想以编程方式将图像直接插入橙色图像中。

这可能吗?

4

2 回答 2

0

橙色框是图像视图,对吗?您可以像这样在其上覆盖另一个图像视图:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/map_marker"/>


<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="8dp"
    android:layout_gravity="center"
    android:background="@drawable/my_placeholder"/>


</FrameLayout>
于 2014-09-19T13:02:59.343 回答
0

您可以为此使用 9-patch。
http://developer.android.com/tools/help/draw9patch.html

只需在橙色图像中定义限制。

然后像这样构建层次结构:

<FrameLayout 
    background="static 9patch image" >
   <ImageView
       src="dynamic image"/>
</FrameLayout>
于 2014-09-19T13:10:58.500 回答