欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁(yè) > 軟件編程 > C#教程 >

Silverlight將圖片轉(zhuǎn)換為byte的實(shí)現(xiàn)代碼

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊: 次

最近總是有人問(wèn)如何通過(guò)Silverlight上傳圖片并保存的后臺(tái)服務(wù)器?眾所周知,Silverlight是客戶端程序,不能很好與服務(wù)器進(jìn)行“溝通”,上傳圖片的方法呢大致都是通過(guò)以下流程:

  1、客戶端獲取圖片-->2、轉(zhuǎn)換能夠傳輸?shù)臄?shù)據(jù)-->3、傳遞數(shù)據(jù)到服務(wù)端-->4、服務(wù)端還原數(shù)據(jù)為圖片

  第一步和第四步?jīng)]有問(wèn)題,問(wèn)題大多出在第二步和第三步,如何得到客戶端和服務(wù)端都能識(shí)別并且容易傳遞的數(shù)據(jù)呢?

  如果你使用的客戶端和服務(wù)端都是.NET方案,這就非常好辦,可以通過(guò)下面的方法:

  1、客戶端得到客戶選擇的FileInfo,然后通過(guò)WebClient方法post到服務(wù)端,服務(wù)端再還原成圖片即可,詳細(xì)文章//www.jb51.net/article/74520.htm

2、客戶端將客戶選擇的圖片文件轉(zhuǎn)換成FileStream包裹在一個(gè)類中通過(guò)WCF傳遞到服務(wù)端,服務(wù)端再還原,詳細(xì)文章//www.jb51.net/article/74523.htm

  有些同學(xué)會(huì)抓耳撓腮的問(wèn),難道就沒(méi)有人用silverlight傳遞到類似JAVA,PHP的情況嗎?當(dāng)然有,而且我最近碰到的都是這類似的情況,事先聲明我不是實(shí)在不了解JAVA和PHP,我只能將圖片轉(zhuǎn)換成byte給你,至于你怎么還原,我只能說(shuō):”同學(xué),任重而道遠(yuǎn)!“,不廢話了,下面見分析:

  之前走了不少?gòu)澛?,總是想著將WriteableBitmap轉(zhuǎn)換成byte(也不知道是誰(shuí)上來(lái)就讓用WriteableBitmap轉(zhuǎn),T_T),后來(lái)我才發(fā)現(xiàn)其實(shí)完全沒(méi)必要這么麻煩,直接上代碼:

byte[] staticByte;//全局byte,為將byte轉(zhuǎn)換為Image

  private void OpenImage()
  {
   OpenFileDialog imageFile = new OpenFileDialog()
   {
    Filter = "Jpeg Files (*.jpg)|*.jpg|All Files(*.*)|*.*"
   };
   if (imageFile.ShowDialog() == true)
   { 
    System.IO.Stream fileStream=imageFile.File.OpenRead();
    byte[] imageByte=new byte[fileStream.Length];//設(shè)置byte的長(zhǎng)度為文件流的長(zhǎng)度
    fileStream.Read(imageByte,0,imageByte.Length);//將文件流信息讀取到byte數(shù)組中
    staticByte = imageByte;//將讀取好的byte數(shù)組保存到全局
    byteTextBox.Text=UTF8Encoding.UTF8.GetString(imageByte,0,imageByte.Length);//將byte數(shù)組顯示到前臺(tái)
   }
  }

直接通過(guò)FileStream.Read方法將文件流轉(zhuǎn)換成byte,ok完工!

  后面我加了一點(diǎn)代碼將byte又轉(zhuǎn)換成圖片,代碼如下:

private void button1_Click(object sender, RoutedEventArgs e)
  {
   OpenImage();
   MemoryStream memoryStream = new MemoryStream(staticByte,0,staticByte.Length);//將byte轉(zhuǎn)換為內(nèi)存流
   BitmapImage img = new BitmapImage();
   img.SetSource(memoryStream);//設(shè)置BitmapImage的源為內(nèi)存流
   this.image1.Source = img;//顯示圖片
  }

程序圖片

選擇圖片界面

 

效果界面

程序源碼
  使用vs2010 sp1+silverlight5編寫,SilverlightImageToByte

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有