今天又去参加面试,继续折腾。所以要好好学习,高手是找公司,随便挑,而我呢?好好学,好好学!
面试官现场出了一题,让写程序,大概是要用委托,要用线程,访问远程网上的一张图片,显示在本地!当时大概写的差不多了,但是不知道如何从网络读取一张图片,简言之,就是不知道用什么类中的什么方法,回来搜索了一下,大概我的实现如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 面试题
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
delegate void delGetImage(Stream imagebyte);
delGetImage delgetimage;
Stream imagestream = null;
private void button1_Click(object sender, EventArgs e)
{
Thread thread1 = new Thread(new ThreadStart(getImage));
thread1.Start();
}
public void getImage()
{
imagestream = GetImageStream();
if (imagestream != null)
{
delgetimage += new delGetImage(ImageShow);
}
delgetimage(imagestream);
}
/// <summary>
/// 获得图片
/// </summary>
/// <returns></returns>
public Stream GetImageStream()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://image6.tuku.cn/pic/gongyishuhua/katongdongwu/008.jpg");
request.Method = "GET";
request.Proxy = null;
request.AllowAutoRedirect = false;
HttpWebResponse response = null;
response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
return stream; }
public void ImageShow(Stream imagestream)
{
Image img = Image.FromStream(imagestream,true);//如果在这一步显示参数不对,则说明获得的流有问题,
pictureBox1.Image = img;
}
}
}