在Android中生成带有自定义文本的图像

在Android中生成带有自定义文本的图像,第1张

在Android中生成带有自定义文本的图像

使用下面的代码来满足您的要求

    Bitmap src = BitmapFactory.depreResource(getResources(), R.drawable.yourimage); // the original file yourimage.jpg i added in resources    Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888);    String yourText = "My custom Text adding to Image";    Canvas cs = new Canvas(dest);    Paint tPaint = new Paint();    tPaint.setTextSize(35);    tPaint.setColor(Color.BLUE);    tPaint.setStyle(Style.FILL);    cs.drawBitmap(src, 0f, 0f, null);    float height = tPaint.measureText("yY");    float width = tPaint.measureText(yourText);    float x_coord = (src.getWidth() - width)/2;    cs.drawText(yourText, x_coord, height+15f, tPaint); // 15f is to put space between top edge and the text, if you want to change it, you can    try {        dest.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/sdcard/ImageAfterAddingText.jpg")));        // dest is Bitmap, if you want to preview the final image, you can display it on screen also before saving    } catch (FileNotFoundException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }

您必须在清单文件中使用以下权限。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

对于我的设备

/sdcard
,访问外部SD卡的路径可能会因其他设备而异。某些设备可能
/mnt/sdcard
是用于内部SD卡的。在使用此代码之前,只需检查一下即可。

实际上,我为其他一些问题编写了上面的代码,这些问题需要从相机捕获后在照片上加上时间戳。我为您提供了相同的解决方案,并针对您的特定要求做了一些修改。

希望您能理解。如果您对代码有任何疑问,请随时提出。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5561542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存