2014-01-13 30 views
1

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

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

Mockup

+0

这可能会帮助你: http://stackoverflow.com/questions/9575746/android-min-2-1-load-images-from-name-string – user3188799

回答

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

3

你确实需要创建一个形象?你是否试图保存/分享它,或只是显示覆盖图像的文字?

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

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

+0

如果您使用覆盖ImageView的TextView显示此图像,则可以进行实时预览(甚至是一个在输入时动态更新)。然后按下“保存”按钮,然后使用我提供链接的方法生成位图。如果需要,您可以在保存到文件之前弹出此生成的位图的预览以进行最终确认。 –

+0

为您工作? –

相关问题