У меня проблема с Chrome, где он печатает изображения в оттенках серого с моего сайта с красным наложением. Это известная ошибка с Chrome, которая предположительно фиксируется, но пока мне не нужно найти способ правильно настроить мои изображения. Я нашел этот взлом в теме о проблеме, которая упоминает imagemagick:Попытка выполнить функцию imagemagick.js в javascript; Как использовать Processing.js для идентификации и преобразования изображения?
Я обнаружил, что это происходило с полутонами в формате jpg. Используя imagemagick, я смог воспроизводить массовые изображения, чтобы избежать этой проблемы, используя следующие команды.
если
identify -format "%r" file.jpg
возвращает "PsuedoClass Серый" или "PsuedoClassGray" затем запустите следующую:convert file.jpg -type Truecolor file.jpg
Однако я imagemagick.js не работает; Я попытался использовать его и получил ошибку «require not defined», и обнаружил, что я не могу использовать скрипт node.js в своем браузере. По-видимому, Processing.js должен быть приличной библиотекой javascript, чтобы имитировать imagemagick, но я не могу понять, как делать то же самое. Это то, что я пытался сделать с ImageMagick:
im.identify(['-format', '%wx%h', '@Model.DatabaseName' + '.jpg'], function(err, output) {
if (err) throw err;
// if output returns PsuedoClass Gray, do im.convert
});
Как я могу сделать это с Processing.js, или есть другая библиотека, которую я должен использовать, чтобы сделать это?
Вы упомянули "не может использовать Node.js в браузере". Вы имели в виду ваш сервер? Где вы пытаетесь запустить 'convert'? Я просмотрел ваш http://oceanstatejoblot.com/_images/coupon/104106_BW.jpg образ, и он отлично смотрелся в моей версии Chrome 39.0.2171.95m. 'ident' сообщает об этом как PseudoClassGray. –
Если вы попытаетесь напечатать это изображение, оно будет напечатано красным цветом –