Реконструируйте исходные 16-битные данные необработанных пикселей из холста HTML5

Если 16-битные одноканальные (с серой шкалой) необработанные пиксельные данные без потерь кодируются в формат изображения (например, PNG, Webp, Jpeg-2000 или JPEG-XR) и изображение, отображаемое на холст HTML5, то есть ли способ извлечь исходный 16- Необработанные пиксельные данные с холста?

1 ответ

Нет.

При рисовании на холсте изображение распаковывается, и все данные пикселей предварительно умножаются и преобразуются в 24-битные данные + 8-битный альфа-канал (RGBA).
В этом процессе из-за различных ошибок округления изображение теряет все по сравнению с исходным, даже для исходного изображения с той же глубиной цвета (см. Отпечатки холста.)

Таким образом, даже форматы без потерь на холсте не работают.

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

Другие вопросы по тегам