1. 程式人生 > >DataFormats.Dib 保存為圖片文件

DataFormats.Dib 保存為圖片文件

formats head class win 什麽 一個 format 需要 插入

var data = System.Windows.Forms.Clipboard.GetDataObject();

using (var ms = data.GetData(System.Windows.Forms.DataFormats.Dib) as MemoryStream)
{
    byte[] buff = new byte[ms.Capacity];
    if (ms.CanRead)
    {
        ms.Read(buff, 0, ms.Capacity);
    }
    MemoryStream ms2 = new MemoryStream();
    
//構造固定文件頭 byte[] bmpHeader = new byte[] {0x42, 0x4D, 0x96, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00}; //將文件頭和文件數據寫入內存流 ms2.Write(bmpHeader, 0, bmpHeader.Length); ms2.Write(buff, 0, buff.Length); //2017年12月18日 09:54:44 //保存圖片到臨時顯示目錄 string fileName = Guid.NewGuid().ToString("N") + ".png
"; File.WriteAllBytes(fileName, ms2.ToArray()); ms2.Dispose(); }

直接保存為圖片是不成功的,需要插入一個文件頭,具體是什麽原因,目前沒有深入研究,有知道的話告訴我下。

DataFormats.Dib 保存為圖片文件