Android保存Textview与透明背景

时间:2014-08-12 08:15:28

标签: android android-canvas textview android-bitmap

我正在尝试通过为位图创建画布来渲染文本,而不是在画布上绘制textview,而是将其保存为PNG图像。我有3个频道,其中没有第四个频道alpha。现在我如何将alpha添加到位图。

Bitmap testB;
strLogoImagePath = "storage/sdcard0/as.png";

testB = Bitmap.createBitmap(objTextView.getWidth(), objTextView.getHeight(),Bitmap.Config.ARGB_8888);

Canvas c = new Canvas(testB);

objTextView.layout(0, 0, objTextView.getWidth(), objTextView.getHeight());

objTextView.draw(c);


objTextView.setLayoutParams(rlLayoutParamsCanvas); 
FileOutputStream stream = new FileOutputStream(strLogoImagePath); 
testB.compress(CompressFormat.PNG, 100, stream);
testB.recycle();
stream.close();

1 个答案:

答案 0 :(得分:1)

使用BitmapDrawable

可以将Bitmap添加到BitmapDrawable

保持你的方法,只需:

  • 从头开始创建BitmapDrawable(Bitmap bitmap)或使用此构造函数BitmapDrawable.setAlpha(int alpha)加载现有的位图。
  • 然后使用{{1}}。

我希望它能解决你的alpha问题。