HarmonyOS 鸿蒙Next 有类似 [Android]使用Paint生成文字图片的功能吗?如详情中的Android示例
HarmonyOS 鸿蒙Next 有类似 [Android]使用Paint生成文字图片的功能吗?如详情中的Android示例
private Bitmap generateHorizontalBitmap(Paint paint, String content) {
float bitmapWidth = paint.measureText(content);
Rect rect = new Rect();
paint.getTextBounds(content, 0, content.length(), rect);
int bitmapHeight = rect.height();
Bitmap bitmap = Bitmap.createBitmap((int) bitmapWidth, bitmapHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.save();
canvas.drawColor(Color.RED);
canvas.drawText(content, 0, -rect.top, paint);
canvas.restore();
return bitmap;
}
更多关于HarmonyOS 鸿蒙Next 有类似 [Android]使用Paint生成文字图片的功能吗?如详情中的Android示例的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
private PixelMap generateHorizontalBitmap(Paint paint, String content) {
Rect rect = paint.getTextBounds(content);
int bitmapHeight = rect.getHeight();
int rectWidth = rect.getWidth();
PixelMap.InitializationOptions initializationOptions = new PixelMap.InitializationOptions();
initializationOptions.size = new Size(rectWidth, bitmapHeight);
initializationOptions.pixelFormat = PixelFormat.ARGB_8888;
PixelMap pixelMap = PixelMap.create(initializationOptions);
Canvas canvas = new Canvas(new Texture(pixelMap));
canvas.save();
canvas.drawColor(Color.RED.getValue(), Canvas.PorterDuffMode.SRC);
canvas.drawText(paint, content, 0, -rect.top);
canvas.restore();
return pixelMap;
}
大概这样