Отображение выбранного цвета

Paha

Member
Есть скрипт. В нём отображается выбранный или текущий цвет...

Как вы решаете вопрос отображения в окне скрипта выбранного цвета?
Просто интересно... верной ли дорогой иду...
Заранее благодарю за конструктивные ответы. :shuffle:
p.s. Если шо, то скрин моего скрипта (не чужого).
 

monter

Человечище
Код:
var w = new Window ("dialog"); 
var s = w.add ("statictext", undefined, "Static"); 
var e = w.add ("edittext", undefined, "Edit"); 
var b = w.add ("button", undefined, "Button"); 
// The window's backround 
w.graphics.backgroundColor = w.graphics.newBrush (w.graphics.BrushType.SOLID_COLOR, [0.5, 0.0, 0.0]); 
// Font and its colour for the first item, statictext 
s.graphics.font = ScriptUI.newFont ("Helvetica", "Bold", 30); 
s.graphics.foregroundColor = s.graphics.newPen (w.graphics.PenType.SOLID_COLOR, [0.7, 0.7, 0.7], 1); 
// Font and colours for the second item, 
edittext e.graphics.font = ScriptUI.newFont ("Letter Gothic Std", "Bold", 30); 
e.graphics.foregroundColor = e.graphics.newPen (e.graphics.PenType.SOLID_COLOR, [1, 0, 0], 1); 
e.graphics.backgroundColor = e.graphics.newBrush (e.graphics.BrushType.SOLID_COLOR, [0.5, 0.5, 0.5]); 
// Font for the tird control, a button. Can't set colours in buttons 
b.graphics.font = ScriptUI.newFont ("Minion Pro", "Italic", 30); 
w.show ();
 

Paha

Member
Я конечно "безмерно рад" снова (в мульённый раз) увидеть до боли знакомый материал из pdf по ScriptUI, но я ожидал совсем иного. :D


Мне коды не нужны (можно всё хранить в глубочайшей тайне), я просто интересовался у форумчан какие элементы они используют для этого: button, statictext, edittext или таки panel. А возможно и ещё что-то... А как написать код я в курсе.
Уже дааавно сделано:

но всё ещё интересно кто как решает данный вопрос... :)
 

monter

Человечище
Paha а зачем тебе кнопка "Color" , если кликнув по синиму квадрату, ты туже функцию можешь вызвать, зачем пространство UI загромаждать? подписал бы лучше рядом статик текстом, что это, например "Fill" или "Stroke"
 
  • Like
Реакции: Paha

Paha

Member
monter ну потому что там ещё потом прозрачность через edittext или слайдером...

хотя доля рациональности в этом есть. Просто этой кнопкой я как бы выделял, что это работает с цветом... Возможно и переделаю чтобы только кликать по цвету... но лень.... :D
p.s. Мы как-то отдалились от сути вопроса. :) ...я так понял что никто ничего больше не скажет.
Ладно всем спасибо за обсуждение... Будем и дальше двигаться самостоятельно... :shuffle:
 

Black_daw

Active Member
Я в скриптах ноль, но в интерфейсах более-менее. Просто смотрите, как эта задача решена в другом софте. Например в том же АЕ или Фотошопе. Квадратик цвета и рядом пипетка.
 

Paha

Member
Black_daw, в общем-то это не проблема...

и как визуально решена задача в другом софте я знаю (как бы уж не один десяток лет).
Вопрос был в другом - кто и как решает в скриптах (на UI скрипта) отображение выбранного цвета. :this:
p.s. чесслово, я уже устал третий раз об этом писать :D
 

pavelusha

Gold Expert
Paha, мне кажется что формулировка вопроса немного не продумана. Если говорить об отображении цвета, то навои вариантов очень ограничен. Это либо показать цвет путем заливки этим цветом какой-либо фигуры (обычно из эстетических соображений используют четырехугольник) либо написать название цвета буквами (красный, синий, и т.п.) но возникнет вопрос как быть с различными оттенками,
либо разложить цвет на составляющие (RGB или CMYK) и показывать составляющие в цифровом виде. Эти способы специально написал в порядке убывания дружелюбности к обычному, среднестатистическому пользователю.
Далее, на это накладывается факт того, что вам надо пользоваться скриптом и набором инструментов предоставленных Adobe. Вот и получается что выбор совсем никакой в плане визуализации... И визуально это уже давно решили и в в принципе все это делают практически одинаково. Велосипед тут изобрести сложно, если не невозможно вообще...

Вы бы лучше более конкретно объяснили цель. Что нужно сделать, и тогда бы можно было думать и вести обсуждение более предметно.
 

monter

Человечище
Paha сказал(а):
Вопрос был в другом - кто и как решает в скриптах (на UI скрипта) отображение выбранного цвета. :this:
p.s. чесслово, я уже устал третий раз об этом писать :D
Кто как может, тот так и решает! вот ответ. Код вверху привели, Примеров по дизайну UI полно. поэтому и не понятен вопрос. точнее что ты ждешь в ответе.
 

Paha

Member
Уже ничего не жду.
Вижу, что всё как обычно... :new_russian:
Я же уже говорил - я свою проблему решил. Были интересны другие варианты.
Оказалось что это великая тайна. :D
Тему можно закрыть.
 

Paha

Member
monter, благодарю. Но я не об этом.
Повторюсь (сообщение №3) "какие элементы они используют для этого: button, statictext, edittext или таки panel."
Т.е. не как визуально, а с помощью чего (каких элементов). Только и всего-то. :)
p.s. Для примера: в ваших же скринах квадратики с цветом - это что? Чем сделаны? Надеюсь ,что теперь понятнее... :shy:
 

monter

Человечище
function setButtonColorAndName(grp, color, name) {
if (color == undefined) {
color = [rdcf.uiBrightness, rdcf.uiBrightness, rdcf.uiBrightness, 1];
}
if (name == undefined) {
name = "";
}
grp.graphics.backgroundColor = rdcf.winGfx.newBrush(rdcf.winGfx.BrushType.SOLID_COLOR, color);
(grp[grp.properties.name]).helpTip = name;
if (name != "") {
(grp[grp.properties.name]).visible = true;
}
}

 

Paha

Member
Я делал через panel.

Как ещё можно? Вернее ЧЕМ? Statictext с символом █ в строке, или edittext и изменении его BG... Вот я о чём.
 

martyn-k

New Member
в сс15 не могу задать ни шрифт ни цвет елементам, кроме разве BG-колора панели. Это ни так ни так не работает:
w_add_custom_text.p_pan.text_field.graphics.font = ScriptUI.newFont("Arial", ScriptUI.FontStyle.BOLD, 24);
w_add_custom_text.p_pan.text_field.graphics.font = ScriptUI.newFont("Arial", "bold", 24);
text_field.graphics.backgroundColor =text_field.graphics.newBrush(text_field.graphics.BrushType.SOLID_COLOR, [.1, .9, .9]);

я только разобрался с этим, проверил в cs6 — работает, а сс15 - нет. Это глюк или это уже навсегда так сделали?
Вы вот тоже красите фон вокруг кнопок...
 

Paha

Member
martyn-k, а это работает?

var w = new Window ("dialog");
var s = w.add ("statictext", undefined, "Static");
var e = w.add ("edittext", undefined, "Edit");
var b = w.add ("button", undefined, "Button");
// The window's backround
w.graphics.backgroundColor = w.graphics.newBrush (w.graphics.BrushType.SOLID_COLOR, [0.5, 0.0, 0.0, .2], 1);
// Font for the first item, statictext
s.graphics.font = ScriptUI.newFont ("Helvetica", "Bold", 30);
s.graphics.foregroundColor = s.graphics.newPen (w.graphics.PenType.SOLID_COLOR, [0.7, 0.7, 0.7, 1], 1);
// Font and colours for the second item, edittext
e.graphics.font = ScriptUI.newFont ("Letter Gothic Std", "Bold", 30);
e.graphics.foregroundColor = e.graphics.newPen (e.graphics.PenType.SOLID_COLOR, [1, 0, 0, 1], 1);
e.graphics.backgroundColor = e.graphics.newBrush (e.graphics.BrushType.SOLID_COLOR, [0.5, 0.5, 0.5, 1], 1);
// Font for the tird control, a button. Can't set colours
b.graphics.font = ScriptUI.newFont ("Minion Pro", "Italic", 30);
w.show ();

Такая картинка выводится?
 
Верх