Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2018, 11:09
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 167

Как изменить качество canvas.toDataURL('image/png')?
Подскажите, как изменить качество canvas.toDataURL('image/png')?

Нужно оптимизировать/уменьшить длину строки base64, генерируемой canvas.toDataURL('image/png'). Что-то типа js-оптимизатора png, который в виде base64.

Знаю, что в случае canvas.toDataURL('image/jpeg') можно задавать качество от 0 до 1, но не подходит, т.к. у меня картинки с прозрачным фоном
Ответить с цитированием
  #2 (permalink)  
Старый 09.12.2018, 11:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 10,124

canvas.toDataURL('image/jpeg', 0.5), по умолчанию 0.95 и это для JPEG, а PNG это практически несжатый формат.
Ответить с цитированием
  #3 (permalink)  
Старый 09.12.2018, 13:46
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 598

Если очень хочется, то только вручную
Взять getImageData и по этим данным сотворить png
Ответить с цитированием
  #4 (permalink)  
Старый 09.12.2018, 18:06
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,552

сохраните и сожмите тут
https://tinypng.com/
Ответить с цитированием
  #5 (permalink)  
Старый 09.12.2018, 18:27
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 167

Сообщение от j0hnik Посмотреть сообщение
сохраните и сожмите тут
https://tinypng.com/


уже нашел pngquantjs (отлично сжимает png прямо в браузере),
помогите подрихтовать, чтобы функция принимала png в виде base64 и возвращала base64.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить формат даты у текста? drkrol Общие вопросы Javascript 15 30.11.2016 03:38
Как изменить размер Canvas(самого холста)? Сергей16 Общие вопросы Javascript 2 13.07.2016 22:06
Как изменить Select с помощью JS Alex921 Общие вопросы Javascript 4 04.01.2016 16:55
Как изменить значение соседней ячейки ivt22 Элементы интерфейса 1 04.01.2016 16:01
ActionScript - как изменить значение soundbuftime? Маэстро Flash 6 14.01.2012 14:08