目前我有 slider 图像,其中每个图像都放置在单个幻灯片页面上,其顶部有“共享”按钮。如果单击共享按钮,当前页面图像应通过电子邮件和彩信共享,为此,我首先需要将图像从可绘制图像转换为位图。 arg_object.getString("image")) 是图像的 url。我能够转换单个图像,但不能转换整体图像。请帮助我。
这是我的代码
Bitmap bbicon = { BitmapFactory.decodeResource(this.cordova.getActivity().getResources
(),"R.drawable."+arg_object.getString("image"))};
但是在decodeResource上我收到错误BitmapFactory类型中的方法decodeResource(Resources, int)不适用于参数(Resources, String)
最佳答案
我不确定我是否理解正确,但是:
如果在
arg_object.getString("image")
中您有资源名称,则没有直接的方法来加载位图,但您仍然可以设法以动态方式获取它。首先通过名称解析资源标识符,如下所示:
String name = arg_object.getString("image"); String defType = "drawable" String defPackage = "com.android.yourpackage"; int drawableId = getActivity().getResources().getIdentifier( name , defType, defPackage );
现在您已经有了资源 ID,您可以使用 one of the BitmapFactory methods 轻松创建位图:
Bitmap bitmap = BitmapFactory.decodeResource( getActivity().getResources(), drawableId );
如果您在
arg_object.getString("image")
中拥有图像 uri,则只需使用:Bitmap bitmap = BitmapFactory.decodeFile( arg_object.getString("image") );
关于java - BitmapFactory类型中的方法decodeResource(Resources, int)不适用于Android中的参数(Resources, String),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19831124/