Удалить альфа-канал против выравнивания изображения в GIMP

Кто-нибудь знает, как работает Remove Alpha Channel и что именно делает Flatten Image (например, какие операции он выполняет и в какой последовательности)? В частности, я пытаюсь понять, почему они дают разные результаты на изображении размером 1x1 пикселя (однослойном) со следующими значениями RGBA для его единственного пикселя: 78:69:128:254. Удаление альфа-канала создает пиксель со значениями RGB 79:70:128, в то время как Flatten Image создает пиксель со значениями RGB 79:70:129. Это было протестировано на GIMP 2.6.10 и 2.8.14. Цвет фона, указанный в наборе инструментов, был белым (значения RGB 255:255:255) во всех тестах.

ПРАВКИ

  • добавлена ​​информация о цвете фона

Ответы (2)

Flatten imageсжимает все слои по виртуальному непрозрачному фону, заполненному цветом фона, поэтому значения RBG результата зависят от текущего цвета фона.

Вы проверили свою гипотезу?
Да. Легко проверить... Пробовали ли вы сами?
Тогда не могли бы вы описать, что вы пробовали и что получилось?
Создайте желтый слой (255,255,0), используйте маску слоя, чтобы установить непрозрачность на 50%. Установите цвет фона на красный (255,0,0). Сгладить изображение, как и ожидалось, результат оранжевый и соответствует тому, что я получу, если добавлю красный слой под полупрозрачный желтый слой. А ты?
Я мог бы быть уверен, что этот пример подтверждает точку зрения, что «Сведение изображения сжимает все слои на виртуальном непрозрачном фоне, заполненном фоновым цветом», но я попросил ТЕХНИЧЕСКОЕ объяснение того, как работает Сведение изображения. Кроме того, я не понимаю, как пример поддерживает гипотезу о том, что удаление альфа-канала НЕ влияет на значения RGB. Мои наблюдения говорят об обратном (см. мой вопрос для тестового примера), и я спросил, может ли кто-нибудь объяснить (опять же, техническим языком), как работает удаление альфа-канала.
Сведение изображения @SJU работает так же, как и предварительный просмотр, применяет все слои к фоновому цвету. По крайней мере, так написано в инструкции. Но тогда это то, что должно делать сглаживание, удаление всех слоев.

Определения из документа :

  • Свести изображение: если есть какие-либо области, которые прозрачны для всех слоев исходного изображения, фоновый цвет виден. . Так что это будет то же самое, что добавить фоновый слой и объединить его.
  • Удалить альфа-канал: если активный слой не является фоновым, прозрачность заменяется цветом фона панели инструментов. Какое описание я бы использовал для behindрежима заполнения ведра.

Итак, есть несколько операций, которые должны давать один и тот же результат:

  • Заливка ковша белым цветом в режиме «За кадром»
  • Объединить вниз по белому фону
  • Инструмент «Указатель» с надписью «Образец объединен» на белом фоне
  • Свести изображение с белым фоном:
  • Свести изображение без белого фона:
  • Удалить альфа-канал

Эксперимент с 78:69:128:254:

* Bucket fill white in 'Behind' mode:              78:69:128
* Merge down over white BG:                        78:69:128
* Pointer tool with "Sample merged" over white BG: 78:69:128
* Flatten image with white BG:                     79:70:129
* Flatten image without white BG:                  79:70:129
* Remove alpha channel:                            79:70:128

Первые три согласуются друг с другом, №4 вызывает удивление, потому что он не дает того же результата, что и №2.

Используя менее экстремальное значение непрозрачности, экспериментируя с 78:69:128:200:

* Bucket fill white in 'Behind' mode:              116:109:155
* Merge down over white BG:                        116:109:155
* Pointer tool with "Sample merged" over white BG: 116:109:155
* Flatten image with white BG:                     116:109:155
* Flatten image without white BG:                  116:109:155
* Remove alpha channel:                            116:109:155

Здесь все дают один и тот же результат.

Таким образом, вероятно, существуют немного разные методы (выравнивание изображения может потребовать некоторых сокращений), на которые по-разному влияют ошибки округления (да, я знаю, что это не ответ, но он показывает некоторые методы, которые всегда дают один и тот же результат).

Разве тест №6 тоже не дает неожиданных результатов (в первом туре)? С какой версией GIMP вы проводили тесты?
Да, но вы уже нашли это. Использование 2.8.22 Linux.