Преобразование битовойAPTORCE на изображение, сохраняя все кадры

StackOverflow https://stackoverflow.com/questions/9015728

  •  14-11-2019
  •  | 
  •  

Вопрос

У меня есть метод здесь, который предполагается создать систему. Характер.Рассмотрим следующие предварительные обязательства:

    .
  • Я получаю ратушку как параметр метода
  • ниже вы найдете код, который делает Преобразование от растровых капсурсе к изображению.

    Преобразование:

    public Image ConvertBitmapSourceToImage(BitmapSource input)
    {
        MemoryStream transportStream = new MemoryStream();
        BitmapEncoder enc = new BmpBitmapEncoder();
        enc.Frames.Add(BitmapFrame.Create(input));
        enc.Save(transportStream);
        transportStream.Seek(0, SeekOrigin.Begin);
        return Image.FromStream(transportStream);
    }
    
    .

    Теперь представьте, что Bitmapsource был создан из программного файла TIF.Что мне нужно сделать, это сделать любую страницу NT, доступную в коде.Класс Bitmapsource предлагает не поддерживать это, так что вы знаете, как получают один, но первый кадр из моего ввода?Или BitMAPTORCE прочитал во всем TIF как один кадр, теряя информацию о обрамлении?

    Если это возможно, я мог бы добавить другой параметр на мой метод подписью, например:

    public Image ConvertBitmapSourceToImage(BitmapSource input, int frame)
    {
       ///[..]
    }
    
    .

    Любые идеи?

    Спасибо заранее!

Это было полезно?

Решение

Как вы уже говорили, битмапсурсы не поддерживают несколько кадров.Возможно, это будет возможность наступить в точку, где TIFF декодируется и преобразует изображение из каждого кадра:

TiffBitmapDecoder decoder = new TiffBitmapDecoder(...) // use stream or uri here
System.Drawing.Image[] images = new System.Drawing.Image[decoder.Frames.Count];

for (int i = 0; i < decoder.Frames.Count; i++)
{
    // use your converter function here
    images[i] = ConvertBitmapSourceToImage(decoder.Frames[i]));
}
.

Я не проверил вышеуказанный код, поэтому извините за любые недостатки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top