Установка растрового изображения цифрового отпечатка пальца на 8-битную шкалу серого в c # - PullRequest
0 голосов
/ 03 сентября 2018

Я хочу установить битовую глубину изображения отпечатка пальца на 8 бит от начальной 32-битной глубины. Вот что я попробовал

    public override void OnComplete(object Capture, string ReaderSerialNumber, DPFP.Sample Sample)
    {
        Bitmap picture = new Bitmap(500,500,PixelFormat.Format8bppIndexed);
        var bitmapData = picture.LockBits(new Rectangle(Point.Empty, picture.Size),ImageLockMode.ReadWrite, picture.PixelFormat);
        Random random = new Random();
        byte[] buffer = new byte[picture.Width * picture.Height];
        random.NextBytes(buffer);
        Marshal.Copy(buffer, 0, bitmapData.Scan0, buffer.Length);
        picture.UnlockBits(bitmapData);
        MakeReport("The fingerprint  was captured.");
        SetPrompt("Scan the same fingerprint again.");
        MemoryStream ms = new MemoryStream();
        picture.SetResolution(500, 500);
        picture.Save(ms, ImageFormat.Bmp);
        fingerImage = ms.ToArray(); 
        Capturer.StopCapture();
        ((Func<object, Task<object>>)_input.event_handler)(fingerImage).Start();
    }

Использование кода выше устанавливает желаемое изображение на 8 бит, но я не могу получить исходное изображение отпечатка пальца снова, как ожидалось. Пожалуйста, помогите

...