Используйте Photoshop Script для создания панели с 3 кнопками

Я хотел бы создать панель с 3 кнопками:

  1. кнопка - добавить изображение 1
  2. кнопка - добавить изображение 2
  3. Отмена

var dlg = new Window( "dialog", "Alert Box Builder" );
dlg.btnPnl = dlg.add( "panel", undefined, "Build it" );
dlg.btnPnl.testBtn = dlg.btnPnl.add( "button", undefined, "Test" );
dlg.btnPnl.buildBtn = dlg.btnPnl.add( "button", undefined, "Build", {name: "ok" } );
dlg.btnPnl.cancelBtn = dlg.btnPnl.add( "button", undefined, "Cancel", { name: "cancel" } );
dlg.show();

person Bruno Rodolpho Pereira    schedule 14.12.2017    source источник
comment
Я отредактировал ваш пост, чтобы добавить контекст в заголовок. Это помогает сказать, какие технологии вы там используете, а не просто полагаться на теги. Я также переформатировал раздел требований со списками, что сделало его более понятным.   -  person Stephen Ostermiller    schedule 14.12.2017


Ответы (1)


Ты на правильном пути! Для этого просто нужно добавить еще одну кнопку, а затем добавить специальную функцию onClick для кнопок. Эта функция откроет браузер файлов операционной системы, а затем назначит файл переменным pic1File и pic2File.

#target photoshop
var pic1File;
var pic2File;

var dlg = new Window( "dialog", "Alert Box Builder" );
btnPnl = dlg.add( "panel", undefined, "Build it" );
pic1Btn = btnPnl.add( "button", undefined, "Image 1" );
pic2Btn = btnPnl.add( "button", undefined, "Image 2" );
buildBtn = btnPnl.add( "button", undefined, "Build", {name: "ok" } );
cancelBtn = btnPnl.add( "button", undefined, "Cancel", { name: "cancel" } );

pic1Btn.onClick = function() {
    pic1File = new File;
    pic1File = pic1File.openDlg ( "Select Background Image", "Images: *.png; *.jpeg; *.jpg" )
    if( pic1File != null ) { pic1Btn.text = File.decode ( pic1File.name ) }
    else { 
        pic1File = new File;
        pic1Btn.text = "No file selected";
    }
}

pic2Btn.onClick = function() {
    pic2File = new File;
    pic2File = pic2File.openDlg ( "Select Background Image", "Images: *.png; *.jpeg; *.jpg" )
    if( pic2File != null ) { pic2Btn.text = File.decode ( pic2File.name ) }
    else { 
        pic2File = new File;
        pic2Btn.text = "No file selected";
    }
}

dlg.show();

Надеюсь, это поможет!

person Dominic Fox    schedule 09.02.2018