【问题标题】:9 patch image draws background color9 补丁图像绘制背景颜色
【发布时间】:2014-12-24 12:09:35
【问题描述】:

我有一个包含在白色背景上绘制的箭头的图像。我解码如下。

Drawable drawable = context.getResources().getDrawable(R.drawable.arrow);  
Bitmap bm;  
Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight(),     Config.ARGB_8888);  
Canvas canvas = new Canvas(bitmap);   
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());  
drawable.draw(canvas);  
bm = bitmap;  

在画布上绘制位图“bm”时,我仍然可以看到白色背景。在普通 png 的情况下,它工作得很好。

谁能告诉我这张图片有什么问题?

【问题讨论】:

    标签: android bitmap nine-patch


    【解决方案1】:

    PNG 格式支持透明通道,而 BMP 不支持。因此,如果您使用 .bmp 或 .jpeg 文件作为箭头可绘制对象,您将获得在画布上绘制的完整矩形副本。所以我的建议是找到一个 .png 版本的箭头。

    【讨论】:

    • 我只有 png 格式的这张图片。我什至观察到这个图像不透明度是不透明的.. 会不会是错的?
    • 如果您需要从资源中获取位图,我建议使用 BitmapFactory.decodeResource(Resources res, int id) 而不是使用 Drawable 类。
    猜你喜欢
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 2012-06-16
    • 1970-01-01
    相关资源
    最近更新 更多