Я никогда раньше не работал с TPL, поэтому мне было интересно, можно ли это сделать с ним: мое приложение создает файл анимации изображения gif из множества кадров. Я начинаю со списка Bitmap, который представляет кадры файла gif, и мне нужно сделать следующее для каждого кадра:
- нарисуйте несколько текстовых / растровых изображений на рамке
- обрезать кадр
- изменить размер кадра
- уменьшить изображение до 256 цветов
Очевидно, что этот процесс можно выполнять параллельно для всех кадров в списке, но для каждого кадра порядок шагов должен быть одинаковым. После этого мне нужно записать все кадры в файл gif. Поэтому все кадры должны быть получены в том же порядке, в котором они были в исходном списке. Кроме того, этот процесс может начаться, когда для него будет готов первый кадр, нет необходимости ждать, пока будут обработаны все кадры.
Вот такая ситуация. Подходит ли для этого TPL Dataflow? Если да, может ли кто-нибудь дать мне подсказку в правильном направлении о том, как спроектировать структуру блока tpl, чтобы отразить процесс, описанный выше? Это кажется мне довольно сложным по сравнению с некоторыми образцами, которые я нашел.