我怎样才能以编程方式生成一个图像(即output_file.png),这是一个覆盖在另一个图像文件顶部的用户输入(即字符串)的组合?
希望下面的图片可以更好地说明
答案 0 :(得分:3)
你真的需要创建一个图像吗?您是要保存/共享它还是仅显示覆盖图像的文本?
如果您只需要叠加,可以设置文本视图以使用RelativeLayout覆盖图像。
如果您想保存并分享图片,请查看 How to programmatically take a screenshot in Android?
答案 1 :(得分:3)
要将文本直接写入位图,您可以执行类似以下操作:
int textSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 15, context.getResources().getDisplayMetrics());
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setSubpixelText(true);
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(textSize);
paint.setColor(Color.WHITE);
Canvas myCanvas = new Canvas(myBitmap);
myCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
myCanvas.drawText(string, x, y, paint);
要将位图写入文件,您可以在此处阅读此问题的答案:Convert Bitmap to File