sream bytes[] img相互转换
/// <summary>
/// 将 Stream 转成 byte[]
/// </summary>
/// <param name="stream"></param>
/// <returns></returns>
public static byte[] StreamToBytes(Stream stream)
{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, , bytes.Length);
// 设置当前流的位置为流的开始
stream.Seek(, SeekOrigin.Begin);
return bytes;
} /// <summary>
/// 将 byte[] 转成 Stream
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
public static Stream BytesToStream(byte[] bytes)
{
Stream stream = new MemoryStream(bytes);
return stream;
} /// <summary>
/// 字节流转换成图片
/// </summary>
/// <param name="byt">要转换的字节流</param>
/// <returns>转换得到的Image对象</returns>
public static Image BytToImg(byte[] byt)
{
try
{
MemoryStream ms = new MemoryStream(byt);
Image img = Image.FromStream(ms);
return img;
}
catch (Exception ex)
{
LogHelper.WriteError("StreamHelper.BytToImg 异常", ex);
return null;
}
} /// <summary>
/// 图片转换成字节流
/// </summary>
/// <param name="img"></param>
/// <returns></returns>
public static byte[] ImageToByteArray(Image img)
{
ImageConverter imgconv = new ImageConverter();
byte[] b = (byte[])imgconv.ConvertTo(img, typeof(byte[]));
return b;
} /// <summary>
/// 把图片Url转化成Image对象
/// </summary>
/// <param name="imageUrl"></param>
/// <returns></returns>
public static Image Url2Img(string imageUrl)
{
try
{
if (string.IsNullOrEmpty(imageUrl))
{
return null;
} WebRequest webreq = WebRequest.Create(imageUrl);
WebResponse webres = webreq.GetResponse();
Stream stream = webres.GetResponseStream();
Image image;
image = Image.FromStream(stream);
stream.Close(); return image;
}
catch (Exception ex)
{
LogHelper.WriteError("StreamHelper.Url2Img 异常", ex);
} return null;
} /// <summary>
/// 把本地图片路径转成Image对象
/// </summary>
/// <param name="imagePath"></param>
/// <returns></returns>
public static Image ImagePath2Img(string imagePath)
{
try
{
if (string.IsNullOrEmpty(imagePath))
{
return null;
} byte[] bytes = Image2ByteWithPath(imagePath);
Image image = BytToImg(bytes);
return image;
}
catch (Exception ex)
{
LogHelper.WriteError("StreamHelper.ImagePath2Img 异常", ex);
return null;
}
}
sream bytes[] img相互转换的更多相关文章
- 彻底弄懂python编码
在编写python程序的过程中,中英文混用经常会出现编码问题.围绕此问题,本文首先介绍编码的含义及常用编码,随后列举几个python经常遇到的编码异常及解决方法,接着列举笔者在实践中遇到的异常出现的情 ...
- python3中bytes、hex和字符串相互转换
1.字符串转bytes a = 'abcd' a1 = bytes(a,encoding('utf-8')) 2.bytes转字符串 a = b'abcd' a1 = bytes.decode(a , ...
- 内置函数 -- bytes -- 字节码与字符串相互转换
说明: 1. 返回值为一个新的不可修改字节数组,每个数字元素都必须在0 - 255范围内,是bytearray函数的具有相同的行为,差别仅仅是返回的字节数组不可修改. 2. 当3个参数都不传的时候,返 ...
- python之bytes和string相互转换
来源:https://www.cnblogs.com/skiler/p/6687337.html 1.bytes主要是给计算机看的,string主要是给人看的 2.中间有个桥梁就是编码规则,现在大趋势 ...
- [转] python关于ctypes使用char指针与bytes相互转换的问题
最近研究人脸识别,需要用python调用so动态库,涉及到c/c++中的指针字符串转Python的bytes对象的问题. 按照ctypes的文档,直观方式是先创建对应的类型数组,再将指针取地址一一赋值 ...
- Java File 与 Bytes相互转换
public static byte[] fileToBytes(String filePath) { byte[] buffer = null; File file = new File(fileP ...
- IRandomAccessStream, IBuffer, Stream, byte[] 之间相互转换
/* * 用于实现 IRandomAccessStream, IBuffer, Stream, byte[] 之间相互转换的帮助类 */ using System;using System.IO;us ...
- (一)一个工作任务引起的乱战——c#中结构体与byte[]间相互转换
一个工作任务涉及到c#与c++系统间的udp通信,处理了蛮长时间没有完成任务,但是期间接触到不少小知识点.本人是初接触c#,c++语言没有接触过.可能写的东西都很小儿科,暂且记录下来当工作日记把. 先 ...
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
http://blog.csdn.net/qinysong/article/details/1179489 这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记 ...
随机推荐
- MySQL 设置允许远程登录
1.修改数据表 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在 localhost 的那台电脑,登入MySQL后,更改 "MySQL" 数据库里的 &qu ...
- linux 禁止指定账号ssh登陆
1 2 3 4 vim /etc/pam.d/sshd #在第一行添加以下代码 auth required pam_listfile.so item=user sense=de ...
- iOS 第三方开源库----->AFNetworking
AFNetworking AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象.它 ...
- maven学习手记 - 1
学习目标 windows下安装maven环境: 使用命令创建maven项目结构: maven项目编译测试打包安装运行: 在maven项目中使用插件. 在windows下安装maven环境 在win ...
- c/c++中主线程退出,子线程也会退出
#include <windows.h> #include <process.h> /* _beginthread, _endthread */ #include <io ...
- 软件工程随堂小作业—— 寻找“水王”(C++)
一.设计思路 (1)输入发帖ID记录表 (2)从第一个ID开始,与后续的发帖ID进行比较,若相同计数器则加一,否则减一.若计数器的数值被减为零,则重新选取当前ID开始记录比较. (3)输出结果 二.源 ...
- ZBar之自定义二维码扫描
// // YvanQRCodeViewController.m // zBar // // Created by City--Online on 15/6/8. // Copyright (c) 2 ...
- PKUSC滚粗记
本来想考得这么烂还是别写了,后来想想毕竟是我高中难得的一次经历,靠脑子记的话我这脑残患者将来肯定会忘了啊……QwQ 好像跟我一样用这个题目的神犇都签了一本QwQ Day 0 来的路上我校其他三位OIe ...
- JSP for query
1. JSP中部分常用标签: Form.jsp <%@ page contentType="text/html;charset=UTF-8" language="j ...
- [工作积累] GCC 4.6 new[] operator内存对齐的BUG
对于用户没有定义dctor(包括其所有成员)的类来说, new CLASS[n] 可能会直接请求sizeof(CLASS)*n的空间. 而带有dctor的 类, 因为delete[]的时候要逐个调用析 ...