如何标记jpeg文件并保存而不加载所有位图

时间:2016-08-22 21:16:50

标签: android optimization bitmap

我正在制作一个我拍照的应用程序,我需要在图片的一角写一些文字。我已经有了一些可以在白色矩形上绘制黑色文字的东西:

private void tagPhoto(Bitmap bitmap){

    // Initiates paint object for canvas
    Paint p = getMarker();

    // Initialize canvas
    Canvas tempCanvas = new Canvas(bitmap);

    // Measure text
    p.getTextBounds(text, 0, text.length(), textFrame); // textFrame is a Rect object

    // Draw frame for text
    tempCanvas.drawRect(0, 0,
            textFrame.width() + 2* MARGIN,  textFrame.height() + 2* MARGIN,
            p);

    p.setColor(Color.BLACK);

    // Write the mark on the canvas
    tempCanvas.drawText(text, MARGIN, textFrame.height() + MARGIN, p);

}

然后我将位图保存到文件中。我正在寻找优化此代码。

在搜索时,我正在搜索并偶然发现BitmapRegionDecoder,这有助于只加载部分位图。我想知道我是否可以使用它,然后将修改后的部分保存在源位图而不将其加载到缓存上。

还是有其他方法我不知道如何有效地标记Jpeg文件?

0 个答案:

没有答案