在android中使用动态字符串生成图像

时间:2014-01-13 03:33:36

标签: android string image-processing dynamic

我怎样才能以编程方式生成一个图像(即output_file.png),这是一个覆盖在另一个图像文件顶部的用户输入(即字符串)的组合?

希望下面的图片可以更好地说明

Mockup

2 个答案:

答案 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