图片-二进制之间的转换

一、图片转换二进制

public byte[] GetPictureData()
    {
        string path = System.AppDomain.CurrentDomain.BaseDirectory; //获取程序的基目录

        path += "\\PrintImage\\test001.png"; // 需要转换为二进制的图片地址

        FileStream Fs = new FileStream(path, FileMode.Open); // 使用文件流打开,并保存为byte[]

        byte[] ByData = new byte[Fs.Length];

        Fs.Read(ByData, 0, ByData.Length);

        Fs.Close(); // 关闭当前流并释放资源

        return ByData;
    }

二、二进制转换图片

public System.Drawing.Image ReturnPhoto(byte[]  ByData)
{
    System.IO.MemoryStream ms = new System.IO.MemoryStream(ByData); // 创建内存流

    System.Drawing.Image img = System.Drawing.Image.FromStream(ms); // 从指定的内存流创建image

    ms.Close(); // 关闭当前流并释放资源

    return img;
}
时间: 2024-08-04 05:17:43

图片-二进制之间的转换的相关文章

十进制、十六进制、二进制之间的转换(仅作记录)

二进制和十六进制的互相转换比较重要.不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然. 我们也一样,只要学完这一小节,就能做到. 首先我们来看一个二进制数:1111,它是多少呢? 你可能还要这样计算:1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15. 然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8.4

负数(十进制)与二进制之间的转换

例子: -3(十进制) 11111101(二进制) 十进制(负)转二进制: 1.3转成二进制: 011 2.取反: 100 3.将所得的数加1: 101 二进制转十进制(负): 1.算式: 1*2^2-0*2^1-1*2^0 = 3 2.加上负号: -3 原文地址:http://blog.51cto.com/12173069/2088046

二进制 八进制 十进制 十六进制之间的转换

一. 十进制与二进制之间的转换 (1)十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.下面举例: 例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 分析:第一步:将168除以2,商84,余数为0.  第二步:将商84除以2,商42余数为0. 

二进制、八进制、十进制、十六进制之间的转换

  最近复习软考各种进制之间的转换着实让人头疼,今天把常用的几种进制之间的转换问题简单做个总结,希望能够对大家有所帮助.   二进制八进制之间的转换   二进制与八进制之间的关系式每个八进制位对应三个二进制位,详情如下:   八进制:  0    1     2    3     4    5     6    7       二进制:000 001 010 011 100 101 110 111   实例:   27.651(8)  010111.110101001(2)   1001.000

ip(点分十进制 <==> 二进制整数)之间的转换

linux的套接字部分比较容易混乱,在这里稍微总结一下. 地址转换函数在地址的文本表达式和它们存放在套接字地址结构中的二进制值进行转换. 地址转换函数有四个:其中inet_addr 和 inet_ntoa适用于IPv4,inet_pton 和 inet_ntop同时适于用IPv4和IPv6. 套接字地址结构分为IPv4套接字地址结构sockaddr_in和IPv6套接字地址结构sockaddr_in6.其中IPv4的套接字地址结构如下. IPv4套接字地址结构:(定义在<netinet/in.h

base64与图片之间的转换

实现:base64与图片之间的转换 + 上传的简单实现 1 package com.thinkive.bank.mass.plat.bus.common.util; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 i

OpenCV图片类cv::Mat和QImage之间进行转换(好多相关文章)

在使用Qt和OpenCV混合编程时,我们有时需要在两种图片类cv::Mat和QImage之间进行转换,下面的代码参考了网上这个帖子: //##### cv::Mat ---> QImage ##### // Shallow copy QImage mat2qimage_ref(cv::Mat &m, QImage::Format format) { return QImage(m.data, m.cols, m.rows, m.step, format); } // Deep copy QI

二进制、八进制、十进制、十六进制数之间的转换

一.二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和.这种做法称为"按权相加"法. //Function to convert binary to decimal int binary_decimal(int num) {     int dec = 0, base = 1, rem;     while(num > 0)     {         rem = num % 10;         dec =

二进制与十进制之间的转换

我们从小学习使用的阿拉伯数字就是十进制的,这大概是因为我们有十根手指.十个脚趾,便于计数吧.而计算机和我们不同,它只有开和关这两种状态,也就是0和1,所以计算机使用二进制会更方便.在十进制里,每一位上的数值都和这个位上特定的量值相关联.比如123这个数,最低位的数值为3,它和这个位的量值即1(10º)相关联:十位数2和10(10¹)相关联:百位数1和100(10²)相关联,整个数的数值就等于(1 * 10² + 2 * 10¹ + 3 * 10º).同理,二进制的数值也是这样计算的,不过它每一位