2013-12-13 4 views
-1

У меня есть изображение внутри рамки рамки, я помещаю случайную наклейку в режим просмотра изображения во время выполнения, но когда я сохраняю растровое изображение изображения с использованием рисования макета кадра, тогда сохранение изображения, но с ненужной черной частью сохраненное изображение. Actual imageImageview Drawing catch не придет по мере необходимости

After save with sticker

Required

я хочу растровый без этого черного part.Please help.Here мой макет и код.

<FrameLayout 
    android:id="@+id/fl_effect_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/rl_title" 
    android:layout_marginBottom="83dp" > 

    <ImageView 
     android:id="@+id/im_gselected_image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     > 
    </ImageView> 
</FrameLayout> 

Вот код, который я использую для создания растрового изображения.

FrameLayout fl=(FrameLayout) findViewById(R.id.fl_effect_view); 
f1.setDrawingCacheEnabled(true); 
Bitmap b=Bitmap.createBitmap(f1.getDrawingCache()); 
f1.setDrawingCacheEnabled(false); 

ответ

2

Попробуйте установить размер представления, прежде чем получить чертеж кэша:

ImageView bottomImage = (ImageView) findViewById(R.id.im_gselected_image); 
f1.layout(0, 0, bottomImage.getMeasuredWidth(), bottomImage.getMeasuredHeight()); 
Bitmap b=Bitmap.createBitmap(f1.getDrawingCache(true)); 

Это заставит ваш результат иметь определенный размер и положение, и будет обрезать все, что из ваши определенные границы.

Пожалуйста, позвольте мне теперь, если это сработало для вас.