【问题标题】:Generate image with dynamic string in android在android中生成带有动态字符串的图像
【发布时间】:2014-01-31 17:39:12
【问题描述】:

我如何以编程方式生成一个图像(即 output_file.png),它是叠加在另一个图像文件之上的用户输入(即字符串)的组合?

希望下面的图片能更好地说明它

【问题讨论】:

标签: android string image-processing dynamic


【解决方案1】:

要将文本直接写入位图中,您可以执行以下类似操作:

        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

【讨论】:

    【解决方案2】:

    您真的需要创建图像吗?您是要保存/共享它还是仅显示覆盖图像的文本?

    如果你只是需要叠加,你可以设置一个textview来使用RelativeLayout来叠加图像。

    如果你想保存和分享图片,你应该看看 How to programmatically take a screenshot in Android?

    【讨论】:

    • 如果您使用覆盖 ImageView 的 TextView 显示此内容,则可以进行实时预览(即使是在键入时动态更新的预览)。然后按下“保存”按钮将使用该方法生成位图我为此提供了链接。如果需要,您可以在保存到文件之前弹出此生成位图的预览以进行最终确认。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多