我如何在这张图片中写一些文字,我会添加一些信息。
YuvImage image = new YuvImage(data, ImageFormat.NV21, maxwidth, maxheight, null);
Rect rectangle = new Rect();
rectangle.bottom = maxheight;
rectangle.top = 0;
rectangle.left = 0;
rectangle.right = maxwidth;
ByteArrayOutputStream output = new ByteArrayOutputStream();
image.compressToJpeg(rectangle, 95, output);
答案 0 :(得分:2)
如果您想在图片中添加添加一些文字,则添加 EXIF 信息,
那么你可以看看这个链接:
Write/Geotag JPEGs (EXIF data) in Android
如果你想在图像上绘制一些文字,那么以下内容可能有所帮助:
在image.compressToJpeg(rectangle, 95, output);
之后添加以下代码
为了在绘图时获得更好的图像质量,建议将此行更改为image.compressToJpeg(rectangle, 100, output);
。
// Decode the JPEG byte array from 'output' to 'Bitmap' object
Bitmap bmp = BitmapFactory.decodeByteArray(output.toByteArray(), 0, output.size());
// Use 'Canvas' to draw text ont 'Bitmap'
Canvas cv = new Canvas(bmp);
// Prepare 'Paint' for text drawing
Paint mPaint = new Paint();
mPaint.setColor( Color.RED );
mPaint.setStyle( Style.STROKE );
mPaint.setTextSize(20);
// Draw text on the 'Bitmap' image
cv.drawText("TEXT To SHOW", 10, 10, mPaint);
// Reset the stream of 'output' for output writing.
output.reset();
// Compress current 'Bitmap' to 'output' as JPEG format
bmp.compress(CompressFormat.JPEG, 95, output);
然后,您可以使用输出来执行您需要的任何操作。