Показать сообщение отдельно
  #1 (permalink)  
Старый 17.11.2022, 14:42
Кандидат Javascript-наук
Отправить личное сообщение для mik888em Посмотреть профиль Найти все сообщения от mik888em
 
Регистрация: 21.06.2020
Сообщений: 145

Почему файл картинки .webp не сжался?
Запустил на ноде преобразование jpg весом 20 кб - > в webp base64 используя вот этот npm модуль https://www.npmjs.com/package/webp-converter

Получаю норм файл WEBP в виде строки base64 , но когда сохраняю то файл webp имеет размер 19 KB, то есть сжатие 5%, хотя по идее файл webp должен иметь сжатие оч сильное (в ~3 -4 раза) с тем же качеством картинки.

Менял параметр -q 80 на 30 и менее. Но это влияет только на качество картинки, но не на "сжатие веса".

Код:
const webp = require('webp-converter');
const fs = require('fs').promises;

async function getWebpBase64(path) {
  const data = await fs.readFile(path);
  const buf = Buffer.from(data);
  const dataBase64 = Buffer.from(buf).toString('base64');
  // base64str of image
  // base64str image type jpg,png ...
  //option: options and quality,it should be given between 0 to 100
  return webp.str2webpstr(dataBase64, 'jpg', '-q 80');
}

async function main() {

  const path = [[PYT]];
  
  const result = await getWebpBase64(path);
  console.log(result);
  
  [[ITOG]] = result;
}

await main();
Ответить с цитированием