Скрытая ошибка NeuQuant.js (квантование цвета JavaScript) в преобразовании JS
NeuQuant.js хорошо работает, когда ширина и высота изображения кратны 100:
300x300
В противном случае, очевидно, есть ошибка:
299x300
(Они были сделаны сэто веб-приложение.)Я'
м 90% уверены, что ошибка в NeuQuant.js. Я сделал тесты, используя его сjsgif а такжеomggifи оба кодировщика имеют одинаковую ошибку. Это очевидно только для фотографических изображений (квантование до 256 цветов), когда размер изображения отличается от 100.
Если вы понимаете нейронные сети, цветовое квантование и / или проблемы с портированием AS3 на JS, пожалуйста, посмотрите. Оригинальный носильщик отказался от проекта, и он так близок к работе!
Вотмой код который реализует это в работнике с OMGGIF:
importScripts('omggif.js', 'NeuQuant.js');
var rgba2rgb = function (data) {
var pixels = [];
var count = 0;
var len = data.length;
for ( var i=0; i