• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > Silverlight将图片转换为byte的实现代码

Silverlight将图片转换为byte的实现代码

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了silverlight,silverlight下载,silverlight是什么,silverlight安装失败,silverlight插件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

最近总是有人问如何通过Silverlight上传图片并保存的后台服务器?众所周知,Silverlight是客户端程序,不能很好与服务器进行“沟通”,上传图片的方法呢大致都是通过以下流程:

  1、客户端获取图片-->2、转换能够传输的数据-->3、传递数据到服务端-->4、服务端还原数据为图片

  第一步和第四步没有问题,问题大多出在第二步和第三步,如何得到客户端和服务端都能识别并且容易传递的数据呢?

  如果你使用的客户端和服务端都是.NET方案,这就非常好办,可以通过下面的方法:

  1、客户端得到客户选择的FileInfo,然后通过WebClient方法post到服务端,服务端再还原成图片即可,详细文章http://www.weikejianghu.com/article/74520.htm

2、客户端将客户选择的图片文件转换成FileStream包裹在一个类中通过WCF传递到服务端,服务端再还原,详细文章http://www.weikejianghu.com/article/74523.htm

  有些同学会抓耳挠腮的问,难道就没有人用silverlight传递到类似JAVA,PHP的情况吗?当然有,而且我最近碰到的都是这类似的情况,事先声明我不是实在不了解JAVA和PHP,我只能将图片转换成byte给你,至于你怎么还原,我只能说:”同学,任重而道远!“,不废话了,下面见分析:

  之前走了不少弯路,总是想着将WriteableBitmap转换成byte(也不知道是谁上来就让用WriteableBitmap转,T_T),后来我才发现其实完全没必要这么麻烦,直接上代码:

byte[] staticByte;//全局byte,为将byte转换为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];//设置byte的长度为文件流的长度
    fileStream.Read(imageByte,0,imageByte.Length);//将文件流信息读取到byte数组中
    staticByte = imageByte;//将读取好的byte数组保存到全局
    byteTextBox.Text=UTF8Encoding.UTF8.GetString(imageByte,0,imageByte.Length);//将byte数组显示到前台
   }
  }
</div>

直接通过FileStream.Read方法将文件流转换成byte,ok完工!

  后面我加了一点代码将byte又转换成图片,代码如下:

private void button1_Click(object sender, RoutedEventArgs e)
  {
   OpenImage();
   MemoryStream memoryStream = new MemoryStream(staticByte,0,staticByte.Length);//将byte转换为内存流
   BitmapImage img = new BitmapImage();
   img.SetSource(memoryStream);//设置BitmapImage的源为内存流
   this.image1.Source = img;//显示图片
  }
</div>

程序图片

选择图片界面

 

效果界面

程序源码
  使用vs2010 sp1+silverlight5编写,SilverlightImageToByte

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • WPF/Silverlight实现图片局部放大的方法分析
  • silverlight实现图片局部放大效果的方法
  • Silverlight文件上传下载实现方法(下载保存)
  • Silverlight将图片转换为byte的实现代码
  • 汉字转拼音缩写示例代码(Silverlight和.NET 将汉字转换成为拼音)
  • 基于Silverlight打印的使用详解,是否为微软的Bug问题
  • 浅谈Silverlight 跨线程的使用详解
  • 基于Silverlight DataGrid中无代码设置开始与结束日期DatePicker的实现方法
  • 解析Silverlight调用WCF/Rest异常的解决方法

相关文章

  • 2017-05-28C#快速排序算法实例分析
  • 2017-05-28C#连接mysql的方法【基于vs2010】
  • 2017-05-28为什么哈希存取比较快?使用它需要付出什么代价
  • 2017-05-28基于C#实现的仿windows左侧伸缩菜单效果
  • 2017-05-28C#数据绑定(DataBinding)简单实现方法
  • 2017-05-28C#封装的Sqlite访问类实例
  • 2017-05-28C#导出生成excel文件的方法小结(xml,html方式)
  • 2017-05-28C#中两个byte如何相加
  • 2017-05-28C#调用系统API指定快捷键的方法
  • 2017-05-28C#程序提示“正由另一进程使用,因此该进程无法访问该文件”的解决办法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#实例代码之抽奖升级版可以经表格数据导入数据库,抽奖设置,补抽
    • 解决C#程序只允许运行一个实例的几种方法详解
    • c#.NET中日志信息写入Windows日志中解决方案
    • 利用C#操作WMI指南
    • C#、vb.net及SQL判断指定年份是否为闰年的方法
    • c#和avascript加解密之间的互转代码分享
    • C#代码实现PDF文档操作类
    • C#从文件或标准输入设备读取指定行的方法
    • C#中HashTable的定义与使用方法
    • C#实现将数据导出到word或者Excel中的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有