首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何给这个PictureDrawable上色?

如何给这个PictureDrawable上色?
EN

Stack Overflow用户
提问于 2012-12-01 11:00:11
回答 1查看 1.4K关注 0票数 6

我正在使用svgandroid从SVG原始资源生成PictureDrawable。但是,我似乎无法在以这种方式创建的可绘制图形上应用滤色器。

使用PNG的旧代码

代码语言:javascript
复制
icon = getResources().getDrawable(R.drawable.ic_braille);
icon.setColorFilter(0x88880000, Mode.MULTIPLY);
((ImageView)v.findViewById(R.id.icon)).setImageDrawable(icon);

有效,但是

代码语言:javascript
复制
icon = SVGParser.getSVGFromResource(getResources(), R.raw.ic_braille).createPictureDrawable();
icon.setColorFilter(0x88880000, Mode.MULTIPLY);
((ImageView)v.findViewById(R.id.icon)).setImageDrawable(icon);

不会。我已经尝试过在drawable上应用滤色器,在ImageView上(在设置Drawable之后),通过XML,甚至在drawable上设置为ImageView的Drawable,都可以用于PNG,但都不适用于PictureDrawable。正如一些人建议的那样,用setBackgroundDrawable替换setImageDrawable根本不会呈现可绘制的图形。我在Android1.6,2.3,4.0上运行代码,没有区别。我已经检查了SVG库的源代码,它在任何地方都不会接触到滤色器。我做错了什么?着色对于某些类型的绘图是不可用的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-22 15:53:31

使用svg-android的这个分支:https://github.com/japgolly/svg-android

它支持ColorFilters。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13655917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档