?? j2kguiencoder.java
字號:
encDefBut = new JButton("Default"); encDefBut.addActionListener(this); buttons_panel.add(encDefBut); encCancelBut = new JButton("Cancel"); encCancelBut.addActionListener(this); buttons_panel.add(encCancelBut); encDialogPane.add(buttons_panel,BorderLayout.SOUTH); advEncOptDialog.setModal(false); advEncOptDialog.pack(); advEncOptDialog.setLocationRelativeTo(mainFrame); } /** * Collect the advanced encoding parameters from the dialog box and build * a ParameterList instance * */ public ParameterList getAdvParameters() { // Initialize default parameters ParameterList defpl = new ParameterList(); String[][] param = Encoder.getAllParameters(); for (int i=param.length-1; i>=0; i--) { if(param[i][3]!=null) defpl.put(param[i][0],param[i][3]); } // Create parameter list using defaults ParameterList pl = new ParameterList(defpl); // Put arguments in ParameterList // --- General Tab --- if(lossless.isSelected()) { pl.put("lossless","on"); } else { pl.put("rate",encRateField.getText()); } if(showEncInf.isSelected()) { pl.put("verbose","on"); } else { pl.put("verbose","off"); } // --- Canvas Tab --- pl.put("tile_parts", tilePartsField.getText()); if(tileBox.isSelected()) { pl.put("tiles", tileWidth.getText()+" "+tileHeight.getText()); pl.put("tref", trefxTF.getText()+" "+trefyTF.getText()); } pl.put("ref", refxTF.getText()+" "+refyTF.getText()); // --- MCT --- if(mctCheckBox.isSelected()) { pl.put("Mct", "on"); } // --- DWT --- pl.put("Wlev", (String)(wLevCb.getSelectedItem())); // -- Quantization --- pl.put("Qguard_bits", (String)(gbCombo.getSelectedItem())); if(qstepTf.isEditable()) { pl.put("Qstep", qstepTf.getText()); } pl.put("Qtype", (String)(qtypeCombo.getSelectedItem())); // --- ROI --- pl.put("Rstart_level", (String)(roiStartLvlComb.getSelectedItem())); if(ralignBox.isSelected()) { pl.put("Ralign", "on"); } else { pl.put("Ralign", "off"); } String rMaskType = (String)(rMaskComboBox.getSelectedItem()); if(rMaskType.equals("Rectangular")) { pl.put("Rroi", "R "+rectLeftTf.getText()+" "+ rectTopTf.getText()+" "+rectWidthTf.getText()+" "+ rectHeightTf.getText()); } else if(rMaskType.equals("Circular")) { pl.put("Rroi", "C "+circColTf.getText()+" "+ circRowTf.getText()+" "+circRadTf.getText()); } else if(rMaskType.equals("Arbitrary")) { pl.put("Rroi", "A "+roiMaskAbsName); } // --- Entropy coder --- if(cppCheckBox.isSelected()) { pl.put("Cpp", cppDimTf.getText()); } pl.put("Clen_calc", (String)(cLenCalcCombo.getSelectedItem())); pl.put("Cterm_type", (String)(ctermCombo.getSelectedItem())); if(cSegSymbBox.isSelected()) { pl.put("Cseg_symbol", "on"); } else { pl.put("Cseg_symbol", "off"); } if(cCausalBox.isSelected()) { pl.put("Ccausal", "on"); } else { pl.put("Ccausal", "off"); } if(cRegTermBox.isSelected()) { pl.put("Cterminate", "on"); } else { pl.put("Cterminate", "off"); } if(cResetMQBox.isSelected()) { pl.put("CresetMQ", "on"); } else { pl.put("CresetMQ", "off"); } if(cBypassBox.isSelected()) { pl.put("Cbypass", "on"); } else { pl.put("Cbypass", "off"); } pl.put("Cblksiz", cblkSizWidthCb.getSelectedItem()+" "+ cblkSizHeightCb.getSelectedItem()); // --- Rate Allocator --- pl.put("Alayers", aLayersTf.getText()); String prog = (String)(apTypeCombo.getSelectedItem()); if(prog.equals("Resolution")) { pl.put("Aptype", "res"); } else if(prog.equals("Layer")) { pl.put("Aptype", "layer"); } else if(prog.equals("RPCL")) { pl.put("Aptype", "res-pos"); } else if(prog.equals("PCRL")){ pl.put("Aptype", "pos-comp"); } else if(prog.equals("CPRL")) { pl.put("Aptype", "comp-pos"); } // --- Packets --- if(pphTileBox.isSelected()) { pl.put("pph_tile", "on"); } else { pl.put("pph_tile", "off"); } if(pphMainBox.isSelected()) { pl.put("pph_main", "on"); } else { pl.put("pph_main", "off"); } if(pEphBox.isSelected()) { pl.put("Peph", "on"); } else { pl.put("Peph", "off"); } if(pSopBox.isSelected()) { pl.put("Psop", "on"); } else { pl.put("Psop", "off"); } // --- Security --- if(secWavMeth.isSelected()) { pl.put("Smethod", "wavelet"); } else { pl.put("Smethod", "layer"); } if(secNoShape.isSelected()) { pl.put("Sshape", "none"); } else if(secWholeImage.isSelected()) { pl.put("Sshape", "all"); } else if(secUserDef.isSelected()) { pl.put("Sshape", secUlxTF.getText()+" "+secUlyTF.getText()+ " "+secWTF.getText()+" "+secHTF.getText()); } pl.put("Sseed", secSeedTF.getText()); pl.put("Slevel_start", secResStartTF.getText()); pl.put("Srate", secBrStartTF.getText()); if(useRSAEncryption.isSelected()) { if(rsaPrivKey==null) { pl.put("Sprivate_key", "-1 -1"); } else { pl.put("Sprivate_key", rsaPrivKey.getExponent().toString()+" " +rsaPrivKey.getModulus().toString()); } } else { pl.put("Sprivate_key", "-1 -1"); } advEncOptDialog.setVisible(false); advEncOptDialog = null; return pl; } /** Handle action performed on registered components */ public void actionPerformed(ActionEvent e) { Object o = e.getSource(); if(o==encRateField) { // Modification of the decoding bit-rate // in the text field if(encRateSlider!=null) { int max = encRateSlider.getMaximum(); int min = encRateSlider.getMinimum(); double val = max; try { val = (new Double(encRateField.getText())).doubleValue()* encSliderPrec; } catch(NumberFormatException nfe) { encRateSlider.setValue(max); encRateField.setText(""+((float)max/encSliderPrec)); } if(val<min) { encRateSlider.setValue(min); } else if(val>max) { encRateSlider.setValue(max); } else { encRateSlider.setValue((int)val); } } } else if(o==encOptCancelBut) { // Cancel simple encoding simpEncOptDialog.setVisible(false); simpEncOptDialog = null; mainFrame.enableZoom(true); } else if(o==encCancelBut) { // Cancel advanced encoding options imgPan.enableDrawing(false); advEncOptDialog.setVisible(false); advEncOptDialog = null; mainFrame.enableZoom(true); selectType = NONE; imgPan.setOffset(0,0); } else if(o==rMaskComboBox) { String selMask = (String)(rMaskComboBox.getSelectedItem()); if(selMask.equals("Disabled")) { // No ROI // Disable selection of ROI shape rectLeftTf.setEditable(false); rectTopTf.setEditable(false); rectWidthTf.setEditable(false); rectHeightTf.setEditable(false); mouseRectROI.setEnabled(false); circColTf.setEditable(false); circRowTf.setEditable(false); circRadTf.setEditable(false); mouseCircROI.setEnabled(false); maskBrowseButton.setEnabled(false); selectType = NONE; imgPan.enableDrawing(false); } else if(selMask.equals("Rectangular")) { // Rectangular shape // Enable manual and mouse-defined rectangular ROI selection rectLeftTf.setEditable(true); rectTopTf.setEditable(true); rectWidthTf.setEditable(true); rectHeightTf.setEditable(true); mouseRectROI.setEnabled(true); if(mouseRectROI.isSelected()) { mouseImgOff.setSelected(false); mouseTile.setSelected(false); mouseCircROI.setSelected(false); selectType = RECT_ROI; imgPan.enableDrawing(true); } else { selectType = NONE; imgPan.enableDrawing(false); } // Disable all ROI selection modes circColTf.setEditable(false); circRowTf.setEditable(false); circRadTf.setEditable(false); mouseCircROI.setEnabled(false); maskBrowseButton.setEnabled(false); } else if(selMask.equals("Circular")) { // Circular shape // Enable manual and mouse-defined circular ROI selection circColTf.setEditable(true); circRowTf.setEditable(true); circRadTf.setEditable(true); mouseCircROI.setEnabled(true); if(mouseCircROI.isSelected()) { mouseImgOff.setSelected(false); mouseTile.setSelected(false); mouseRectROI.setSelected(false); selectType = CIRC_ROI; imgPan.enableDrawing(true); } else { selectType = NONE; imgPan.enableDrawing(false); } // Disable other ROI selection modes rectLeftTf.setEditable(false); rectTopTf.setEditable(false); rectWidthTf.setEditable(false); rectHeightTf.setEditable(false); mouseRectROI.setEnabled(false); maskBrowseButton.setEnabled(false); } else if(selMask.equals("Arbitrary")) { // Arbitrary shape // Enable PGM file selection maskBrowseButton.setEnabled(true); imgPan.enableDrawing(false); selectType = NONE; // Disable other ROI selection modes rectLeftTf.setEditable(false); rectTopTf.setEditable(false); rectWidthTf.setEditable(false); rectHeightTf.setEditable(false); mouseRectROI.setEnabled(false); circColTf.setEditable(false); circRowTf.setEditable(false); circRadTf.setEditable(false); mouseCircROI.setEnabled(false); } } else if(o==encOptAdvancedBut) { simpEncOptDialog.setVisible(false); simpEncOptDialog = null; createAdvancedGui(); advEncOptDialog.setVisible(true); } else if(o==encDefBut) { lossy.setSelected(true); lossless.setSelected(false); encRateField.setText(""); encRateField.setEditable(true); pphTileBox.setSelected(true); pphMainBox.setSelected(true); tilePartsField.setText("0"); tileWidth.setText("0"); tileWidth.setEditable(false); tileHeight.setText("0"); tileHeight.setEditable(false); tileBox.setSelected(false); refxTF.setText("0"); refyTF.setText("0"); trefxTF.setText("0"); trefyTF.setText("0"); mouseImgOff.setSelected(false); mouseTile.setSelected(false); wLevCb.setSelectedItem("5"); gbCombo.setSelectedItem("2"); qstepTf.setText("0.0078125"); qtypeCombo.removeAllItems(); qtypeCombo.addItem("expounded"); qtypeCombo.addItem("derived"); qtypeCombo.setSelectedItem("expounded"); roiStartLvlComb.setSelectedItem("-1"); ralignBox.setSelected(false); rMaskComboBox.setSelectedItem("Disabled"); rectLeftTf.setEditable(false); rectLeftTf.setText(""); rectTopTf.setEditable(false); rectTopTf.setText(""); rectWidthTf.setEditable(false); rectWidthTf.setText(""); rectHeightTf.setEditable(false); rectHeightTf.setText(""); circColTf.setEditable(false); circColTf.setText(""); circRowTf.setEditable(false); circRowTf.setText(""); circRadTf.setEditable(false); circRadTf.setText(""); maskBrowseButton.setEnabled(false); roiMaskAbsName = ""; roiMaskNameLabel.setText(""); mouseRectROI.setEnabled(false); cLenCalcCombo.setSelectedItem("near_opt"); ctermCombo.setSelectedItem("near_opt"); cSegSymbBox.setSelected(false); cCausalBox.setSelected(false); cRegTermBox.setSelected(false); cResetMQBox.setSelected(false); cBypassBox.setSelected(false); cblkSizWidthCb.setSelectedItem("64"); cblkSizHeightCb.setSelectedItem("64"); aLayersTf.setText("0.015 +20 2.0 +10"); apTypeCombo.setSelectedItem("Layer"); pEphBox.setSelected(false); pSopBox.setSelected(false); mctCheckBox.setSelected(false); mctOn.setEnabled(false); mctOff.setEnabled(false); mctOff.setSelected(true); cppCheckBox.setSelected(false); cppDimTf.setText(""); cppDimTf.setEditable(false); } else if(o==refxTF) { // Image horizontal offset in canvas imgOff.x = (new Integer(refxTF.getText())).intValue(); if(imgOff.x<0) { imgOff.x = 0; refxTF.setText("0"); } imgPan.setOffset(imgOff.x,imgOff.y);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -