Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 26.05.2017, 12:30
Аватар для Taifune
Интересующийся
Отправить личное сообщение для Taifune Посмотреть профиль Найти все сообщения от Taifune
 
Регистрация: 24.05.2017
Сообщений: 18

Сообщение от laimas
Пороть же чушь о создании 8-битного JPEG не надо. Вы хотя бы на Вики почитайте что такое 8-битная палитра и в каких форматах изображения ее можно сохранить (если ориентироваться на веб), и что такое HighColor и TrueColor изображения
Сообщение от Dilettante_Pro Посмотреть сообщение
Наиболее распространённым, поддерживаемым большинством доступных кодеков, является последовательное (sequential JPEG) представление данных, предполагающее последовательный обход кодируемого изображения разрядностью 8 бит на компоненту (или 8 бит на пиксель для чёрно-белых полутоновых изображений) поблочно слева направо, сверху вниз.https://ru.wikipedia.org/wiki/JPEG
Вот и почитали вики вместе. ) Так а теперь давайте как в той передаче. Поможем Даше перекодировать 32 битный канвас в 8 битный жпег grayscale v1.1
Ответить с цитированием
  #32 (permalink)  
Старый 26.05.2017, 12:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Taifune
Как мне вам верить ?
Уже дали ссылку. )

Этот формат используется и видео даже, если вы не знали. JPEG в графике, это 24 бита на цвет (нет альфа канала). Как я и ранее предлагал с PNG-8, загрузите свой рисунок 8-битый и сохраните в JPEG, получите 24-биное изображение. Но если работать в редакторе умеющем не просто сохранять, но и оптимизировать, то можно выбрать сохранение "только оттенки серого". Так понятно?

То есть "по умолчанию" как вы желаете вам никто не сделает.

Сообщение от Taifune
Если его запуск по отношению к файлам в папке возможно реализовать через JS может быть это бы и сошло
Запустить его хоть чертом можно, даже JS, но только не из под веб страницы.
Ответить с цитированием
  #33 (permalink)  
Старый 26.05.2017, 12:53
Аватар для Taifune
Интересующийся
Отправить личное сообщение для Taifune Посмотреть профиль Найти все сообщения от Taifune
 
Регистрация: 24.05.2017
Сообщений: 18

Сообщение от laimas Посмотреть сообщение
Уже дали ссылку. )

Этот формат используется и видео даже, если вы не знали. JPEG в графике, это 24 бита на цвет (нет альфа канала). Как я и ранее предлагал с PNG-8, загрузите свой рисунок 8-битый и сохраните в JPEG, получите 24-биное изображение. Но если работать в редакторе умеющем не просто сохранять, но и оптимизировать, то можно выбрать сохранение "только оттенки серого". Так понятно?

То есть "по умолчанию" как вы желаете вам никто не сделает.



Запустить его хоть чертом можно, даже JS, но только не из под веб страницы.
Да я умею работать с графическими редакторами и используя фш и другие программы я могу получить любой формат который только есть, но еще раз повторюсь мне нужно вывести на сохранение файл используя JS на стороне клиента в JPEG grayscale v1.1.

Даже JS но не из под веб страницы... Ну еперный театр )) Серьезно ?) Я об это им написал вроде как. Если бы вы знали способ как запустить коммандную строку со страницы ( То писали бы вирусы ).

З.Ы. Написать то код кто нибудь поможет ?
Ответить с цитированием
  #34 (permalink)  
Старый 26.05.2017, 12:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Taifune
Даже JS но не из под веб страницы... Ну еперный театр )) Серьезно ?) Я об это им написал вроде как.
Ну вроде бы я спрашивал, нахрена же вам JS, и что ответом было напомнить?

Забейте на JS в данном случае, используйте иное, исходя из OS.
Ответить с цитированием
  #35 (permalink)  
Старый 26.05.2017, 13:02
Аватар для Taifune
Интересующийся
Отправить личное сообщение для Taifune Посмотреть профиль Найти все сообщения от Taifune
 
Регистрация: 24.05.2017
Сообщений: 18

Сообщение от laimas Посмотреть сообщение
Ну вроде бы я спрашивал, нахрена же вам JS, и что ответом было напомнить?

Забейте на JS в данном случае, используйте иное, исходя из OS.
Супер помогли ) На форуме JS сказали забейте на JS ) ой все. Я подожду может кто то все таки предложит что то дельное.
Ответить с цитированием
  #36 (permalink)  
Старый 26.05.2017, 13:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Тогда я этого не понимаю Даже JS но не из под веб страницы.... Если все это не из под веб страницы будет использоваться, то можно даже и JS. Например в среде Windows, это может быть HTA. Можно использовать VBS, он без проблем запустит из под командной строки ImageMagick. В чем проблема?

Не забывайте, что это форум в первую очередь освещает веб приложения. А JS в рамках веб страницы имеет ограничения.
Ответить с цитированием
  #37 (permalink)  
Старый 26.05.2017, 13:40
Аватар для Taifune
Интересующийся
Отправить личное сообщение для Taifune Посмотреть профиль Найти все сообщения от Taifune
 
Регистрация: 24.05.2017
Сообщений: 18

Сообщение от laimas Посмотреть сообщение
Тогда я этого не понимаю Даже JS но не из под веб страницы.... Если все это не из под веб страницы будет использоваться, то можно даже и JS. Например в среде Windows, это может быть HTA. Можно использовать VBS, он без проблем запустит из под командной строки ImageMagick. В чем проблема?

Не забывайте, что это форум в первую очередь освещает веб приложения. А JS в рамках веб страницы имеет ограничения.
Да это цитата была.. Без тега квота уже не понятно? Я про запуск имажмажика говорил нафига мне не из под веб страницы.
Ответить с цитированием
  #38 (permalink)  
Старый 26.05.2017, 14:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну тогда только преобразование в серое в canvas, затем получить данные изображения как getImageData(...).data, затем используя Uint8ClampedArray/blob упаковать согласно формата JPEG нужного и записать в файл.
Ответить с цитированием
  #39 (permalink)  
Старый 26.05.2017, 15:22
Аватар для Taifune
Интересующийся
Отправить личное сообщение для Taifune Посмотреть профиль Найти все сообщения от Taifune
 
Регистрация: 24.05.2017
Сообщений: 18

А вот это уже интересно. По идее в этот массив можно записать из любой даты[0][1][2] инфу т.к. кодом что я выше кидал он усредняется и во всех 3 каналах одинаковые значения. А вот как потом через блоб собирать джепег ?
Ответить с цитированием
  #40 (permalink)  
Старый 26.05.2017, 15:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

У вас уже будут готовые бинарные данные. Например, здесь посмотрите пример Grayscaling and inverting colors. А вообще, вроде бы речь была о том, что изображение уже в градациях серого после ПО, тогда и canvas не нужен.

А далее изучать описание формата, и упаковать в бинарник заголовок файла, который и описывает формат.

Если покопаться, то браузеры могут кое что, например тут пример записи в файл Save toBlob to disk, лиса записывает в файл PNG конвертируемый в BMP. Все бы хорошо, но почитайте о поддержке, а ведь в рамках веб нужна кроссбраузерность. И у каждого из них будет свое, если только оно есть.

Там же найдете описание и Uint8ClampedArray, можно и ArrayBuffer использовать.

Так что "безопасно", это самому ручками, изучайте формат, пакуйте, сохраняйте.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
возьму урок по svg или canvas фнимации imedia Элементы интерфейса 0 30.05.2014 01:37
Canvas. Как сделать или вообще нельзя? Вращение рандомизированно изменяемого объекта. Zemsky Общие вопросы Javascript 30 19.12.2013 19:44
Сохранение canvas - что получает сервер. lancer Общие вопросы Javascript 2 26.08.2013 15:26
Что лучше использовать, canvas или svg? Marv Элементы интерфейса 2 22.09.2012 03:40
Аналог wmode=transparent для Canvas или svg lusever Events/DOM/Window 1 15.06.2009 16:05