`

用url从网络上下载一张图片(二进制),转换成BitMap格式的图片

    博客分类:
  • J2SE
阅读更多
//==========================用了两种方法======================
1.------------用流方式
try {
            //实例化url
            URL url = new URL(imgurl);
            //载入图片到输入流
            java.io.BufferedInputStream bis = new BufferedInputStream(url.openStream());
            //实例化存储字节数组
            byte[] bytes = new byte[100];
            //设置写入路径以及图片名称
            OutputStream bos = new FileOutputStream(new File( "C:\\thetempimg.gif"));
            int len;
            while ((len = bis.read(bytes)) > 0) {
                bos.write(bytes, 0, len);
            }
            bis.close();
            bos.flush();
            bos.close();
            //关闭输出流
            b=true;
        } catch (Exception e) {
            //如果图片未找到
            b=false;
        }

int[] a = new int[2];
        if(b){    //图片存在
            //得到文件
            java.io.File file = new java.io.File("C:\\thetempimg.gif");
            BufferedImage bi = null;
            try {
                //读取图片
                bi = javax.imageio.ImageIO.read(file);
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            a[0] = bi.getWidth(); //获得 宽度
            a[1] = bi.getHeight(); //获得 高度
            //删除文件
            file.delete();
        }else{     //图片不存在
            a=null;
        }
       return a;

    }





// 显示网络上的图片
public static Bitmap returnBitMap(String url) {
Log.i("returnBitMap","url="+url);
URL myFileUrl = null;
Bitmap bitmap = null;
try {
myFileUrl = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection) myFileUrl
.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}
分享到:
评论

相关推荐

    C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

    本文主要介绍了C#实现把图片转换成二进制以及把二进制转换成图片的方法,并结合具体实例形式分析了基于C#的图片与二进制相互转换以及图片保存到数据库的相关操作技巧。 一、图片转换成二进制 在C#中,可以使用...

    Android 实现图片转二进制流及二进制转字符串

    "Android 实现图片转二进制流及...Android 实现图片转二进制流及二进制转字符串是一个非常重要的知识点,我们可以使用 FileInputStream、ByteArrayOutputStream、Matrix 等对象来实现图片转换和压缩,并上传到服务器。

    php接收二进制图片(ios、安卓上传图片)

    2. **Android上传图片**:在Android中,可以使用`Bitmap`类获取图片,然后通过`Bitmap.CompressFormat`将图片转换成JPEG或PNG格式的字节数组。使用`OkHttp`或`Volley`库创建网络请求,将字节数组作为请求体发送。 *...

    图像二进制显示

    二进制转换是图像二进制显示的关键步骤。这通常涉及到阈值处理,即将像素的色彩或亮度值与某个预设的阈值进行比较。如果值高于阈值,像素被设置为白色;反之,则为黑色。这种方法可以有效地减少图像的色彩信息,使其...

    Http方式实现图片上传

    4. **转换为二进制流**:将Bitmap转换为字节数组,可以使用`Bitmap.compress()`方法,选择如JPEG或PNG的格式。 5. **构建HTTP请求**:创建一个POST请求,设置Content-Type为`multipart/form-data`,因为这是上传...

    读取网络图片的五种方式

    这是最基础的方式,通过发送HTTP请求获取图片的二进制数据,然后将其转换为`Bitmap`对象,最后在`ImageView`中显示。这种方式虽然简单,但不推荐在实际项目中使用,因为它没有考虑到内存管理和线程安全问题。 2. *...

    Android bitmap工具类

    - **Bitmap的加载与解码**:从资源文件、内存、磁盘或者网络URL加载Bitmap,并根据需求进行解码,以控制内存占用。 - **Bitmap的尺寸调整**:通过`Bitmap.createScaledBitmap()`方法,根据需要调整Bitmap的尺寸,...

    Android Studio开发显示网络图片

    在网络图片加载过程中,我们需要使用输入流(InputStream)从服务器获取图片数据,然后将其转换为Bitmap对象,以便在ImageView中展示。 以下是实现这一功能的基本步骤: 1. **获取网络图片的URL**:首先,你需要一...

    安卓图片和base64转换

    Base64是一种用于将二进制数据转换为可打印字符的编码方式,常用于在网络上传输图片或者存储在文本格式的数据中。本文将深入探讨Android中图片与Base64之间的转换,并提供相关的实现方法。 一、Base64编码原理 Base...

    Android显示在线图片

    它允许我们从指定的URL读取数据,如图片的二进制数据。 3. **InputStream**: 用于读取字节流的接口。在本例中,我们通过HttpURLConnection获取到一个InputStream,从中读取图片的二进制数据。 4. **Bitmap**: ...

    联网下载图片并且保存

    4. **图片转换**:将二进制数据转换为Bitmap对象,这在Android中常用`BitmapFactory.decodeStream()`完成。确保正确设置解码参数,如缩放因子,以优化内存使用。 5. **保存图片**:将Bitmap对象保存到本地文件系统...

    android获取网络图片、html代码

    获取输入流后,可以读取图片的二进制数据。 2. 将图片保存到本地:读取到图片数据后,将其保存到手机的缓存目录或指定位置。可以使用FileOutputStream将二进制数据写入文件。 3. 显示图片:Android提供了多种方式...

    Android从网上获取图片的简单示例

    对于从网络下载的图片,我们通常需要将其转换为Bitmap对象才能在ImageView中显示。 下面是一个简单的步骤,演示如何从网络获取图片并显示在ImageView中: 1. **添加网络权限**:在AndroidManifest.xml中添加...

    安卓客户端加载网络图片

    在Android中,我们可以使用`HttpURLConnection`或第三方库如`Volley`、`OkHttp`来实现网络请求,获取到图片的二进制数据。 3. **处理数据流**:下载到的数据通常为字节流,需要转换为Bitmap对象,才能被`ImageView`...

    VB源码:显示网络图片范例

    4. 将二进制数据转换为图像:使用`Image.FromStream`方法将接收到的数据转换为`Bitmap`对象。 5. 使用GDI+显示图像:创建一个`Graphics`对象,然后调用其`DrawImage`方法在窗体或控件上绘制图像。 压缩包中的文件...

    android异步显示网络图片

    3. **数据处理**:将接收到的二进制数据转化为Bitmap对象,可能还会涉及到图片的压缩、裁剪等优化操作。 4. **缓存策略**:为了提高性能,AsyncImageLoader可能会实现内存缓存和磁盘缓存策略,例如使用LruCache或...

    图片上传下载_服务端

    - 数据转换:首先,我们需要将图片转换为适合网络传输的格式,通常是JPEG或PNG,使用`Bitmap`对象的`compress()`方法。 - 文件编码:图片数据需要转换为字节数组,以便通过HTTP请求发送。可以使用`BitmapFactory`...

    AsyncTask加载网络图片

    在这个方法里,我们可以调用网络API获取图片的URL,使用HttpURLConnection或OkHttp等库下载图片数据,然后可能需要解码图片,转换成Bitmap对象。 3. `onPostExecute(Result)`:此方法也在主线程中运行,接收`...

    android 下载图片并缓存

    - **数据转换**:接收到服务器响应后,将二进制数据转换为Bitmap对象。 2. **内存缓存** - **BitmapMemoryCache**:创建一个内存缓存,使用哈希表存储Bitmap对象,根据图片的URL作为键,Bitmap作为值。当内存不足...

    volley加载网络图片

    在简单的场景下,你可以直接发送一个GET请求到图片URL,然后将响应的二进制数据转换为Bitmap并显示在ImageView上。不过,这种方式并不高效,因为它没有考虑缓存机制,每次请求都会消耗网络资源。 2. **ImageLoader*...

Global site tag (gtag.js) - Google Analytics