Fra*_*ois 10 android bitmap drawable
我正在使用LayerDrawable来合并多个Drawable.现在,我想将LayerDrawable导出到一个文件中.
我试过这种方式:
Bitmap b = ((BitmapDrawable)myLayerDrawable).getBitmap();
--> ClassCastException...
Run Code Online (Sandbox Code Playgroud)
我能做什么?
Kyl*_*e P 13
您是否尝试将Drawable绘制为位图画布?我认为通话顺序会是这样的:
Bitmap b = Bitmap.createBitmap(int width, int height, Bitmap.Config config);
myLayerDrawable.draw(new Canvas(b));
Run Code Online (Sandbox Code Playgroud)
然后,您可以将Bitmap对象写入输出流.
谢谢您的帮助。但是像我这样的初学者需要一些更具体的代码。我尝试了以下方法,它对我有用。
Bitmap b = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
layerDrawable.setBounds(0, 0, getWidth(), getHeight());
layerDrawable.draw(new Canvas(b));
Run Code Online (Sandbox Code Playgroud)
最终 b(位图)是所需的组合位图。
感谢两位用户在我之前回答过(@Kyle 和 @Anjum)。受到他们回答的启发......这对我的情况很好:
final int width = myLayerDrawable.getIntrinsicWidth();
final int height = myLayerDrawable.getIntrinsicHeight();
final Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
myLayerDrawable.setBounds(0, 0, width, height);
myLayerDrawable.draw(new Canvas(bitmap));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7844 次 |
| 最近记录: |