⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 j2kguiencoder.java

📁 jpeg2000编解码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
		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);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -