【发布时间】:2014-01-31 17:39:12
【问题描述】:
我如何以编程方式生成一个图像(即 output_file.png),它是叠加在另一个图像文件之上的用户输入(即字符串)的组合?
希望下面的图片能更好地说明它
【问题讨论】:
-
这可能会对您有所帮助:stackoverflow.com/questions/9575746/…
标签: android string image-processing dynamic
我如何以编程方式生成一个图像(即 output_file.png),它是叠加在另一个图像文件之上的用户输入(即字符串)的组合?
希望下面的图片能更好地说明它
【问题讨论】:
标签: android string image-processing dynamic
要将文本直接写入位图中,您可以执行以下类似操作:
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
【讨论】:
您真的需要创建图像吗?您是要保存/共享它还是仅显示覆盖图像的文本?
如果你只是需要叠加,你可以设置一个textview来使用RelativeLayout来叠加图像。
如果你想保存和分享图片,你应该看看 How to programmatically take a screenshot in Android?
【讨论】: