Я бы хотел получить цветовую палитру каждого кадра анимированного GIF. Я использую npm библиотеку 'gif-frames' в Node.js, чтобы сохранить каждый кадр как изображение, моя проблема в том, что изображения большинства кадров имеют странные цвета, отличные от того, который вы видите, если открыть GIF в браузере или в Photoshop. Я предполагаю, что это из-за того, как сжимаются анимированные GIF. Я попытался решить проблему в Python с помощью PIL, но у меня такая же проблема. Как я могу получить изображение для каждого кадра с заданными цветами?
Это код, который я использую
var gifFrames = require('gif-frames');
var fs = require('fs');
gifFrames({ url: 'icontech-2-2019-5.gif', frames: 67 }).then(function (frameData) {
frameData[0].getImage().pipe(fs.createWriteStream('firstframe.jpg'));
});
Я собрал в этой папке 2 образца анимированных GIF-файлов и полученные кадры https://drive.google.com/drive/folders/154QMzq3IVTMqiKoX_mURNqvUabT89xfw