Android 在图像上应用自定义贴纸

标签 android image-processing libraries

我正在尝试创建一个图像编辑器库,让我可以在图像上贴上标签。我找到了两个库,一个是 Aviary , 但我不能把自己的贴纸放在里面,然后我试过了 Android-image-edit但非常简单,它不是一个库,它是一个应用程序。 任何人都知道一些好的图书馆可以让我做我想做的事吗? 提前致谢。

最佳答案

我不了解库,但如果我没理解错的话,你想在图像上添加一个 Drawable 吗?

你可以自己做:(未经测试!)

public void putSticker(File file, Bitmap overlay) {
    //Load bitmap from file:
    Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());       
    bitmap = bitmap.copy(Bitmap.Config.RGB_565, true);

    //Draw overlay:
    Canvas canvas = new Canvas(bitmap);
    Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);
    canvas.drawBitmap(overlay, 0, 0, paint);

    //Save to file:
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.PNG, 40, bos);
    byte[] bitmapdata = bos.toByteArray();
    FileOutputStream fos;
    try {
        fos = new FileOutputStream(file);
        fos.write(bitmapdata);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
} 

也许有更好的加载和保存方式。但是无论如何,绘画是您问题的有趣部分。

参见 http://developer.android.com/reference/android/graphics/Canvas.html更多 drawBitmap() 的可能性。 (偏移,缩放,...)

关于Android 在图像上应用自定义贴纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419749/

相关文章:

android - 使用线程循环图像

android - RecyclerView - 如何获得对每一行 View 的引用

android - 获取当前运行我的应用程序的手机的 Android API 级别

matlab - 寻找图像中的凹坑

将 float 32 位大端字节序转换为小端字节序

python - 如何选择正确的颜色来使用 OpenCV 对图像进行阈值处理?

java - Gradle 同步失败 : All firebase libraries must be either above or below 14. 0.0

c++ - Xcode:如何使用库设置 C++ 项目

hadoop - 用于网站解析的库/工具

Linux 64b,libXinerama.so.1 的问题