繁体   English   中英

如何从网络 url 获取图像宽度和高度

[英]How to get image width and height from a network url

我正在开发一个 android 应用程序并在其中使用 REST API。 我正在从服务器接收图像 url,我想根据图像的原始高度使用图像 url 显示这些图像。

如何使用网络图像 url 获取图像的宽度和高度。 我已经尝试从字符串 url 获取位图,但为此我想在后台线程中执行此操作,这会导致图像加载速度非常慢。

有什么办法可以从图像url中获取图像的宽度和高度,并可以根据宽度和高度在imageview中显示图像。

如果有人知道这件事,请帮助我。

非常感谢先进。

URL url = new URL("url/image.jpg");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());

对于宽度:

bmp.getWidth(); 

对于高度:

bmp.getHeight(); 

用于在 imageview 中设置:

ImageView.setImageBitmap(bmp);

进一步参考:

https://developer.android.com/reference/android/graphics/Bitmap.html#getHeight%28%29

/* your library */
implementation 'com.github.bumptech.glide:glide:4.11.0'    
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

/* your code */

    Glide.with(this)
            .asBitmap()      //get hieght and width 
            .load("link image")
            .into(new SimpleTarget<Bitmap>() {
                @Override
                public void onResourceReady(@NonNull Bitmap resource, @Nullable 
                    Transition<? super Bitmap> transition) {
                    Log.d("TAG", "onResourceReady: "+resource.getWidth()+"    
                    "+resource.getHeight());
                }
            });

    //////////////////////////////////////

    Glide.with(this)
            .asFile()     // get size Image 
            .load("link image")
            .into(new SimpleTarget<File>() {
                @Override
                public void onResourceReady(@NonNull File resource, @Nullable 
                    Transition<? super File> transition) {
                    fab_full.setLabelText(""+resource.length());
                }
            });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM