Exemple #1
0
        static BitmapFrame CreateBitmapVersionOne(byte[] bitmapVersionOneBytes, BITMAPINFOHEADER bitmapVersionOneHeader)
        {
            var fileHeaderSize = Marshal.SizeOf(typeof(BITMAPFILEHEADER));
            var infoHeaderSize = bitmapVersionOneHeader.biSize;
            var fileSize       = fileHeaderSize + bitmapVersionOneHeader.biSize + bitmapVersionOneHeader.biSizeImage;

            var fileHeader = new BITMAPFILEHEADER();

            fileHeader.bfType      = BITMAPFILEHEADER.BM;
            fileHeader.bfSize      = fileSize;
            fileHeader.bfReserved1 = 0;
            fileHeader.bfReserved2 = 0;
            fileHeader.bfOffBits   = fileHeaderSize + infoHeaderSize + bitmapVersionOneHeader.biClrUsed * 4;

            var fileHeaderBytes = GeneralApi.StructureToByteArray(fileHeader);

            var bitmapStream = new MemoryStream();

            bitmapStream.Write(fileHeaderBytes, 0, fileHeaderSize);
            bitmapStream.Write(bitmapVersionOneBytes, 0, bitmapVersionOneBytes.Length);
            bitmapStream.Seek(0, SeekOrigin.Begin);

            var bitmap = BitmapFrame.Create(bitmapStream);

            return(bitmap);
        }
Exemple #2
0
 byte[] ConvertMetaInformationToByteArray(ImageMetaInformation metaInformation)
 {
     return(GeneralApi.StructureToByteArray(metaInformation));
 }