[PS CS4-CS6] scripting: цвет пиксела

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Я подозреваю, что топикстартер таким образом проверяет файл на пустоту.
То есть, масштабирует до пиксела и проверяет цвет.
Если это действительно так - то данный способ чрезвычайно опасен
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
тогда тем более гистограммой намного проще, чем каждый пиксель отдельно смотреть. впрочем, что толку гадать.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
тогда тем более гистограммой намного проще, чем каждый пиксель отдельно смотреть. впрочем, что толку гадать.
Это да, можно не масштабировать, а сразу построить гистограмму всего изображения. Причем, так будет гораздо более правильно.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
так ее не надо строить. она в свойстве документа histogram доступна, если нужен композит. либо поканальные есть. хотя ты навряд ли не в курсе
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
А ты сам то в курсе - строит ли фотошоп ее при открытии (и перестраивает при каждом изменении документа) или в момент обращения к свойству? Лично я склоняюсь к последнему
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
что это знание изменит в скрипте? ничего
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
что это знание изменит в скрипте? ничего
Это как посмотреть
К примеру, если строит непрерывно при обращении, то для оптимизации один раз куда-нибудь запомнить и все ;)
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
не, он кэширует точно, судя по панели
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Это, кстати, тоже вполне возможный вариант. Причем, наиболее возможный
 

VVVSLAVA

Участник
Сообщения
16
Реакции
9
if(app.activeDocument.histogram[255]!=1)
{
}
а как с помощью его варианта выбирать пиксел по координатам? (т.е. в вашем варианте понятно что мы выбираем пиксел 0,0)
Его вариант только для файлов 1x1 ;)
Не совсем верно. Вариант будет корректно отрабатывать для любых документов у которых есть хотя бы один видимый "белый" пиксель, либо, если таковые могут появиться при операции flatten image, то-есть в композитном изображении.
Необходимо учитывать, что конструкция типа:
if(app.activeDocument.histogram[255]!=0){
alert ("'Белые' пиксели присутствуют")
}else{
alert ("'Белые' пиксели отсутствуют")
}
НЕ БУДЕТ РАБОТАТЬ:
В Color Mode: Bitmap, Grayscale, Duotone, LAB и Multichannel.
При любом активном канале, отличном от композитного (включая Альфа-каналы).

И естественно, не будет учитывать яркость для пикселей альфа-каналов, даже если у них задана видимость.
И да, движок панели гистограммы (как отдельной, так и в составе других Adjustmens) не имеет ни какого отношения к свойству "histogram" документа. Это свойство моментально обновляется при любых вносимых изменениях.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
"Корректно отрабатывать" - в смысле топиковой задачи, а не "определить наличие единственного белого пикселя"
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
histogram только в rgb и cmyk, факт.

а топиковая задача вообще не ясна. обычно через 10 страниц выясняется, что автору нужно нечто совершенно другое.
 

justcoder

Участник
Топикстартер
Сообщения
182
Реакции
4
histogram только в rgb и cmyk, факт.

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

justcoder

Участник
Топикстартер
Сообщения
182
Реакции
4
как часть решения более сложной задачи
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
вот. теперь если вы поведаете нам о более сложной задаче, возможно решение окажется несколько другим
 

justcoder

Участник
Топикстартер
Сообщения
182
Реакции
4
вот. теперь если вы поведаете нам о более сложной задаче, возможно решение окажется несколько другим
я не настолько оптимист, чтобы ожидать что тут форуме мне вылажут решение более сложной задачи :)
а разбивая более общую задачу на маленькие — проще для и для понимания, и для ответа отвечающим
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
На самом деле, запросто может оказаться, что правильно сформулированная общая задача имеет гораздо более простое и красивое решение, чем тернистый путь из легиона маленьких костыликов.
 
  • Спасибо
Реакции: dosp