Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java (Android)使用透明背景调整图像大小?_Java_Android_Image_Background_Resize - Fatal编程技术网

Java (Android)使用透明背景调整图像大小?

Java (Android)使用透明背景调整图像大小?,java,android,image,background,resize,Java,Android,Image,Background,Resize,我通过一个API获取图像,问题是所有图像都是固定大小的,这样大的图片就可以了,因为它占用了整个空间,但是有些图片带有小对象,如图所示 我想知道是否有一种方法可以检测具有透明背景的图像是否可以调整为仅显示的大小,如此处所示 我使用的库是glide从URL获取图像,GifImageView保存图像。任何帮助都将不胜感激。我认为scalingtype属性将非常有用。 对于glide,有一个名为apply()的方法,您可以使用它来确定用于修改imageView的选项 RequestOptions c

我通过一个API获取图像,问题是所有图像都是固定大小的,这样大的图片就可以了,因为它占用了整个空间,但是有些图片带有小对象,如图所示

我想知道是否有一种方法可以检测具有透明背景的图像是否可以调整为仅显示的大小,如此处所示


我使用的库是glide从URL获取图像,GifImageView保存图像。任何帮助都将不胜感激。

我认为scalingtype属性将非常有用。 对于glide,有一个名为apply()的方法,您可以使用它来确定用于修改imageView的选项

RequestOptions cropOptions=newrequestoptions().centerCrop(上下文); ... 滑翔带(碎片) .load(url) .应用(cropOptions) .进入(图像视图); 您可以从glide图书馆的文档中获益


我认为scalingtype属性会有所帮助。 对于glide,有一个名为apply()的方法,您可以使用它来确定用于修改imageView的选项

RequestOptions cropOptions=newrequestoptions().centerCrop(上下文); ... 滑翔带(碎片) .load(url) .应用(cropOptions) .进入(图像视图); 您可以从glide图书馆的文档中获益


不幸的是,我已经试过了。问题是Glide将空的透明背景识别为图像的一部分,因此将其缩放到如此小,以至于我看不到任何东西(如图所示)。我认为问题在于图像本身,我在尝试将大图像设置为图标时遇到了类似的问题。您需要重构图像或编辑“viewportWidth”和“viewportHeight”是的,我已经说过问题在于图像。在一个大框架里有一个小物体。viewportWidth/Height解决方案不适合我,因为我从API请求的并非所有内容都是大帧中的小对象。除非我能找到如何动态地做到这一点?不幸的是,我已经尝试过了。问题是Glide将空的透明背景识别为图像的一部分,因此将其缩放到如此小,以至于我看不到任何东西(如图所示)。我认为问题在于图像本身,我在尝试将大图像设置为图标时遇到了类似的问题。您需要重构图像或编辑“viewportWidth”和“viewportHeight”是的,我已经说过问题在于图像。在一个大框架里有一个小物体。viewportWidth/Height解决方案不适合我,因为我从API请求的并非所有内容都是大帧中的小对象。除非我能找到如何动态地做这件事?