WCF传输图片解决方案
2011-09-13 15:15
375 查看
图片无法序列化后传输,但我们可以将图片转二进制字符串传输。然后在服务端将二进制字符串转图片。
将图片转字符串的例子:
private byte[] BmpToJpegBuff(Image img)
{
ImageConverter converter = new ImageConverter();
byte[] bmpSrc = (byte[])converter.ConvertTo(img, typeof(byte[]));
MemoryStream ms = new MemoryStream(bmpSrc);
MemoryStream msjpg = new MemoryStream();
Bitmap myBitmap = new Bitmap(ms);
myBitmap.Save(msjpg,ImageFormat.Jpeg);
byte[] bjpeg = msjpg.GetBuffer();
return bjpeg;
}
byte[] imgByte=BmpToJpegBuff(image);
string imgString = String.Join(",", Array.ConvertAll(imgByte, (Converter<byte, string>)Convert.ToString));
字符串转图片的例子。
string[] imgArr = imgData.Split(new char[] { ',' });
byte[] bty = Array.ConvertAll<string, byte>(imgArr, delegate(string s) { return byte.Parse(s); });
Bitmap bmp = new Bitmap(FromBytes(bty));
///
/// 字节转图片
///
public Image FromBytes(byte[] bs)
{
if (bs == null) return null;
try
{
MemoryStream ms = new MemoryStream(bs);
Image returnImage = Image.FromStream(ms);
ms.Close();
return returnImage;
}
catch { return null; }
将图片转字符串的例子:
private byte[] BmpToJpegBuff(Image img)
{
ImageConverter converter = new ImageConverter();
byte[] bmpSrc = (byte[])converter.ConvertTo(img, typeof(byte[]));
MemoryStream ms = new MemoryStream(bmpSrc);
MemoryStream msjpg = new MemoryStream();
Bitmap myBitmap = new Bitmap(ms);
myBitmap.Save(msjpg,ImageFormat.Jpeg);
byte[] bjpeg = msjpg.GetBuffer();
return bjpeg;
}
byte[] imgByte=BmpToJpegBuff(image);
string imgString = String.Join(",", Array.ConvertAll(imgByte, (Converter<byte, string>)Convert.ToString));
字符串转图片的例子。
string[] imgArr = imgData.Split(new char[] { ',' });
byte[] bty = Array.ConvertAll<string, byte>(imgArr, delegate(string s) { return byte.Parse(s); });
Bitmap bmp = new Bitmap(FromBytes(bty));
///
/// 字节转图片
///
public Image FromBytes(byte[] bs)
{
if (bs == null) return null;
try
{
MemoryStream ms = new MemoryStream(bs);
Image returnImage = Image.FromStream(ms);
ms.Close();
return returnImage;
}
catch { return null; }
相关文章推荐
- WCF传输图片解决方案
- WCF 不能传输 IList? 解决方案
- WCF大数据量传输解决方案
- BF533 使用DMA方式传输ITU-656格式图像例程中,图片分成两个的解决方案
- WCF大数据量传输解决方案
- WCF大数据量传输解决方案
- WCF大数据量传输解决方案
- WCF大数据传输造成400错误的解决方案
- WCF大数据量传输解决方案
- WCF大数据量传输解决方案
- WCF开山篇__图片传输
- WCF大数据量传输解决方案
- WCF-复合类型使用;传输图片
- QT使用scrollarea显示图片,完美解决方案
- WCF 设置传输数据大小
- iOS 因APP出现在第三方公司的图片以及第三方公司公司其他信息被驳回解决方案
- unity3d NGUI图集使用图片出现虚边 出现一条线的解决方案
- Android大图片裁剪终极解决方案
- 微信C2C渐进式图片流式传输系统简介
- Xfire 图片(image) webservice byte 加密 传输 ---- 上传