Problem to convert byte array to double

后端 未结 3 2109
暗喜
暗喜 2021-01-26 07:44

I have a problem to convert an byte array to double array using BitConverter.ToDouble().

Simply my program will select an image then convert the image to by

3条回答
  •  感情败类
    2021-01-26 08:37

    class Program { static void Main(string[] args) {

            Program p = new Program();
            p.Test();
        }
    
        private void Test()
        {
    
            Image i = Image.FromFile(@"C:\a.jpg");
    
            Bitmap b = new Bitmap(i);
    
            MemoryStream ms = new MemoryStream();
    
            b.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
    
            byte[] by = ms.ToArray();
    
            double[] db = new double[(int)(Math.Ceiling((double)by.Length / 8))];
    
    
    
            int startInterval = 1;
            int interval = 8;
            int k = 0;
            byte[] bys = new byte[8];
            int n = 1;
    
                for (int m = startInterval; m <= interval && m<=by.Length; m++,n++)
                {
                    bys[n-1] = by[m-1];
    
    
                    if (m == interval)
                    {
    
    
                        db[k] = BitConverter.ToDouble(bys, 0);
                        startInterval += 8;
                        interval += 8;
                        k++;
                        n = 0;
                        Array.Clear(bys, 0, bys.Length);
    
                    }
    
                    if (m == by.Length)
                    {
                        db[k] = BitConverter.ToDouble(bys, 0);
                    }
    
    
    
                }
    
    
    
    
    
        }
    }
    

提交回复
热议问题