一、从网络中获取图片信息:

   /// <summary>
/// 获取图片
/// </summary>
/// <param name="url">Url</param>
/// <returns>BitmapImage</returns>
public BitmapImage GetImage(string url)
{
BitmapImage image=null;
try
{
image = new BitmapImage();
long fileLength = ;
//从url指定的网络地址获取图片信息
WebRequest webReq = WebRequest.Create(url);
WebResponse webRes = webReq.GetResponse();
fileLength = webRes.ContentLength;
Stream srm = webRes.GetResponseStream();
byte[] bufferbyte = new byte[fileLength];
int allByte = (int) bufferbyte.Length;
int startByte = ;
while (fileLength > )
{
int downByte = srm.Read(bufferbyte, startByte, allByte);
if (downByte == )
{
break;
}
startByte += downByte;
allByte -= downByte;
}
//以流的形式初始化图片
image.BeginInit();
image.StreamSource = new MemoryStream(bufferbyte);
image.EndInit();
srm.Close();
webRes.Close();
}
catch (Exception)
{
Console.WriteLine("获取图片信息失败");
}
return image;
}

二、在Image控件中显示获取到的图片

   public void ShowImage(BitmapImage img)
{
image.Source = img;
image.Width = img.PixelWidth;
image.Height = img.PixelHeight;
}

image是Image控件

三、保存Image到磁盘

  /// <summary>
/// 保存图片到磁盘
/// </summary>
/// <param name="img"></param>
public void SaveImage(Image img)
{
//img为Image控件
BitmapSource bsrc = (BitmapSource)img.Source;
//保存文件对话框
SaveFileDialog sf = new SaveFileDialog();
//设定默认保存类型为Png
sf.DefaultExt = ".png";
//指定用户只能下载jpg和png格式的图片
sf.Filter = "JPG 图片 (*.jpg)|*.jpg|PNG 图片 (*.png)|*.png";
if (sf.ShowDialog() == true)
{
PngBitmapEncoder pngE = new PngBitmapEncoder();
pngE.Frames.Add(BitmapFrame.Create(bsrc));
using (Stream stream = File.Create(sf.FileName))
{
pngE.Save(stream);
}
}
}

从网络中获取图片显示到Image控件并保存到磁盘的更多相关文章

  1. VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法。

    原文:VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net ...

  2. Cocos2d-x3.0 从代码中获取cocostudio编辑的UI控件

    依据名字查找控件 须要包括的头文件及名字空间: #include "cocostudio/CocoStudio.h" #include "ui/CocosGUI.h&qu ...

  3. WinForm中获取Listbox、DataGridView等控件某行对应的数据

    Listbox:listbox.SelectedItem as XXX DataGridView:dataGridView1.Rows[i].Cells[1].Value.ToString()

  4. WPF如何将数据库中的二进制图片数据显示在Image控件上

    首先在xaml文件里定义一个Image控件,取名为img MemoryStream stream = new MemoryStream(获得的数据库对象): BitMapImage bmp = new ...

  5. ios 从网络上获取图片并在UIImageView中显示

    ios 从网络上获取图片   -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIIm ...

  6. Android 多线程:使用Thread和Handler (从网络上获取图片)

    当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分 ...

  7. Android相机、相册获取图片显示并保存到SD卡

    Android相机.相册获取图片显示并保存到SD卡 [复制链接]   电梯直达 楼主    发表于 2013-3-13 19:51:43 | 只看该作者 |只看大图  本帖最后由 happy小妖同学 ...

  8. 【iOS开发-从网络上获取图片尺寸】

    实际开发过程中,容易碰到从网络上获取图片尺寸的场景,比如一个UIImageView要装载从网络上获取的图片,但要先设置其frame,此时又不知道图片尺寸,就要从网络上获取尺寸了.为了最好的用户体验,一 ...

  9. 从网络上获取图片并保存在sdCard上

    package com.aib.soft; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileO ...

随机推荐

  1. java中的==和equals

    1,==用于比较基本数据类型,和引用类型.而equals是Object上的方法,可以被子类重写,用于判断内容一致. 比较奇葩的是,java基本数据类型(byte,short,int,long,floa ...

  2. android 开发环境

    http://blog.csdn.net/shulianghan/article/details/38023959

  3. Recover Binary Search Tree--leetcode难题讲解

    Two elements of a binary search tree (BST) are swapped by mistake.Recover the tree without changing ...

  4. mono+jexus 验证码不显示:System.Drawing

    System.ArgumentException The requested FontFamily could not be found [GDI+ status: FontFamilyNotFoun ...

  5. Qt的零碎知识

    1.QObject是所有Qt对象的基类,他给C++的类带来了若干新的功能.使用Q_OBJECT宏能声明一个C++类为一个QObject.如: class Notepad : public QMainW ...

  6. 2014-09-19.xml

    <wordbook><item>    <word>basel</word>     <trans><![CDATA[ n. 巴塞尔( ...

  7. ASP.NET服务器控件使用之Reportviewer 报表

    http://blog.csdn.net/oemoon/article/details/7338967 http://www.cnblogs.com/emanlee/archive/2008/09/1 ...

  8. 初识js中的闭包

    今天看了关于js闭包方面的文章,还是有些云里雾里,对于一个菜鸟来说,学习闭包确实有一定的难度,不说别的,能够在网上找到一篇优秀的是那样的不易. 当然之所以闭包难理解,个人觉得是基础知识掌握的不牢,因为 ...

  9. C10K问题渣翻译

    The C10K problem [Help save the best Linux news source on the web -- subscribe to Linux Weekly News! ...

  10. HTML5 新特性总结

    1.使用autocomplete 自动完成必须给input 加上name. 2.SVG图形代码 复制https://developer.mozilla.org/zh-CN/docs/Web/SVG/E ...