Răsfoiți Sursa

feat: 优化路径选择

hexleo 5 ani în urmă
părinte
comite
3f67d9013d

+ 6 - 2
Android/PlayerProj/animtool/src/main/java/com/tencent/qgame/playerproj/animtool/ui/ToolUI.java

@@ -63,7 +63,7 @@ public class ToolUI {
     private final JLabel labelOutInfo = new JLabel();
     private final Dimension labelSize = new Dimension(100, 20);
     private final Properties props = new Properties();
-    private final VapxUI vapxUI = new VapxUI();
+    private final VapxUI vapxUI = new VapxUI(this);
 
     private boolean needAudio = false;
 
@@ -221,6 +221,10 @@ public class ToolUI {
         frame.setVisible(true);
     }
 
+    public String getInputPath() {
+        return textInputPath.getText();
+    }
+
     private void layout(JPanel panel) {
         BoxLayout layout = new BoxLayout(panel, BoxLayout.PAGE_AXIS);
         panel.setLayout(layout);
@@ -368,7 +372,7 @@ public class ToolUI {
         btnInputPath.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent actionEvent) {
-                JFileChooser fileChooser = new JFileChooser();
+                JFileChooser fileChooser = new JFileChooser(new File(getInputPath()));
                 fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
                 int returnVal = fileChooser.showOpenDialog(fileChooser);
                 if(returnVal == JFileChooser.APPROVE_OPTION) {

+ 12 - 5
Android/PlayerProj/animtool/src/main/java/com/tencent/qgame/playerproj/animtool/ui/VapxUI.java

@@ -11,6 +11,7 @@ import java.awt.event.ItemEvent;
 import java.awt.event.ItemListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -34,6 +35,7 @@ public class VapxUI {
     private final JPanel controlPanel = new JPanel();
     private final List<MaskUI> maskUiList = new ArrayList<>();
     private int index = 0;
+    private ToolUI toolUI;
     private final IMaskUIListener listener = new IMaskUIListener() {
         @Override
         public void onDelete(MaskUI maskUI) {
@@ -43,6 +45,10 @@ public class VapxUI {
         }
     };
 
+    public VapxUI(ToolUI toolUI) {
+        this.toolUI = toolUI;
+    }
+
     public JPanel createUI() {
         JPanel panel = new JPanel();
         panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
@@ -95,13 +101,14 @@ public class VapxUI {
     }
 
     private void createMaskUI() {
-        MaskUI maskUI = new MaskUI(++index, listener);
+        MaskUI maskUI = new MaskUI(toolUI, ++index, listener);
         controlPanel.add(maskUI.getPanel());
         maskUiList.add(maskUI);
         controlPanel.revalidate();
     }
 
     private static class MaskUI {
+        private ToolUI toolUI;
         public IMaskUIListener listener;
         public int index;
         public String maskPath;
@@ -123,7 +130,9 @@ public class VapxUI {
 
         final JLabel labelMaskPathState = new JLabel();
 
-        public MaskUI(int index, IMaskUIListener listener) {
+
+        public MaskUI(ToolUI toolUI, int index, IMaskUIListener listener) {
+            this.toolUI = toolUI;
             this.index = index;
             this.listener = listener;
             createUI();
@@ -254,8 +263,6 @@ public class VapxUI {
         private JPanel part3Layout() {
             JPanel panel = new JPanel();
             panel.setLayout(new FlowLayout(FlowLayout.LEFT));
-
-
             // mask path
             panel.add(new JLabel(" mask path:"));
             JButton btnMaskPath = new JButton("choose");
@@ -263,7 +270,7 @@ public class VapxUI {
             btnMaskPath.addActionListener(new ActionListener() {
                 @Override
                 public void actionPerformed(ActionEvent actionEvent) {
-                    JFileChooser fileChooser = new JFileChooser();
+                    JFileChooser fileChooser = new JFileChooser(new File(toolUI.getInputPath()));
                     fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
                     int returnVal = fileChooser.showOpenDialog(fileChooser);
                     if(returnVal == JFileChooser.APPROVE_OPTION) {

+ 1 - 0
tool/README.md

@@ -52,6 +52,7 @@ chmod +x mac_start.sh
 * alpha scale: 视频alpha区域是否缩放(默认缩放0.5),目前可选: 缩放0.5;不缩放1. 缩放视频能最终减小视频分辨率,提高兼容性;
 * frames path: 视频帧存放的位置
 	* 视频帧命名方法 **000.png 001.png ... 099.png**。第一帧一定是**000.png**不然无法正常生成,可以参考"simple_demo";
+	* 点击"choose"弹窗是文件夹选择器,目的是选择视频帧所在文件夹路径
 * audio: 需要集成到视频里的声音文件(目前支持mp3文件).
 
 普通VAP视频完成以上配置即可.