Android Bitmap常用操作

文字生成Bitmap

private Bitmap fromText(String text) {
        int dpSize = 12;//dp

        float pixel =TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, dpSize, this.getResources().getDisplayMetrics());

        Paint paint = new Paint();
        paint.setTextSize(pixel);
        paint.setTextAlign(Paint.Align.LEFT);
        paint.setAlpha(77);
        paint.setColor(Color.WHITE);

        Paint.FontMetricsInt fm = paint.getFontMetricsInt();

        int width = (int) paint.measureText(text);
        int height = fm.descent - fm.ascent;

        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        canvas.drawText(text, 0, fm.leading - fm.ascent, paint);
        canvas.save();

        return bitmap;
    }

Bitmap保存文件

    private void saveBitmap(Bitmap bitmap){
        String cacheDir = context.getApplicationContext().getExternalCacheDir().getAbsolutePath();
        String filePic = cacheDir+"/test.png"
        FileOutputStream fos = new FileOutputStream(filePic);
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
        fos.flush();
        fos.close();
    }
posted @   巫鸦  阅读(465)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2012-03-30 wp7样式的关联
2012-03-30 对两个数据库中的两个表进行联合查询
点击右上角即可分享
微信分享提示