private int saveImageRoi(ImageRoi roi, int options) { byte[] bytes = roi.getSerializedImage(); int imageSize = bytes.length; byte[] data2 = new byte[HEADER_SIZE+HEADER2_SIZE+imageSize+roiNameSize+roiPropsSize]; System.arraycopy(data, 0, data2, 0, HEADER_SIZE); data = data2; putShort(RoiDecoder.SUBTYPE, RoiDecoder.IMAGE); for (int i=0; i<imageSize; i++) putByte(HEADER_SIZE+i, bytes[i]&255); int hdr2Offset = HEADER_SIZE+imageSize; double opacity = roi.getOpacity(); putByte(hdr2Offset+RoiDecoder.IMAGE_OPACITY, (int)(opacity*255.0)); putInt(hdr2Offset+RoiDecoder.IMAGE_SIZE, imageSize); if (roi.getZeroTransparent()) options |= RoiDecoder.ZERO_TRANSPARENT; putHeader2(roi, hdr2Offset); return options; }
private int saveImageRoi(ImageRoi roi, int options) { byte[] bytes = roi.getSerializedImage(); int imageSize = bytes.length; byte[] data2 = new byte[HEADER_SIZE+HEADER2_SIZE+imageSize+roiNameSize+roiPropsSize]; System.arraycopy(data, 0, data2, 0, HEADER_SIZE); data = data2; putShort(RoiDecoder.SUBTYPE, RoiDecoder.IMAGE); for (int i=0; i<imageSize; i++) putByte(HEADER_SIZE+i, bytes[i]&255); int hdr2Offset = HEADER_SIZE+imageSize; double opacity = roi.getOpacity(); putByte(hdr2Offset+RoiDecoder.IMAGE_OPACITY, (int)(opacity*255.0)); putInt(hdr2Offset+RoiDecoder.IMAGE_SIZE, imageSize); if (roi.getZeroTransparent()) options |= RoiDecoder.ZERO_TRANSPARENT; putHeader2(roi, hdr2Offset); return options; }
public boolean showImageDialog(String name) { ImageRoi iRoi = (ImageRoi)roi; boolean zeroTransparent = iRoi.getZeroTransparent(); GenericDialog gd = new GenericDialog("Image ROI Properties"); gd.addStringField("Name:", name, 15); gd.addNumericField("Opacity (0-100%):", iRoi.getOpacity()*100.0, 0); gd.addCheckbox("Transparent background", zeroTransparent); if (addToOverlay) gd.addCheckbox("New Overlay", false); gd.showDialog(); if (gd.wasCanceled()) return false; name = gd.getNextString(); roi.setName(name.length()>0?name:null); double opacity = gd.getNextNumber()/100.0; iRoi.setOpacity(opacity); boolean zeroTransparent2 = gd.getNextBoolean(); if (zeroTransparent!=zeroTransparent2) iRoi.setZeroTransparent(zeroTransparent2); boolean newOverlay = addToOverlay?gd.getNextBoolean():false; if (newOverlay) roi.setName("new-overlay"); return true; }
public boolean showImageDialog(String name) { ImageRoi iRoi = (ImageRoi)roi; boolean zeroTransparent = iRoi.getZeroTransparent(); GenericDialog gd = new GenericDialog("Image ROI Properties"); gd.addStringField("Name:", name, 15); gd.addNumericField("Opacity (0-100%):", iRoi.getOpacity()*100.0, 0); gd.addCheckbox("Transparent background", zeroTransparent); if (addToOverlay) gd.addCheckbox("New Overlay", false); gd.showDialog(); if (gd.wasCanceled()) return false; name = gd.getNextString(); roi.setName(name.length()>0?name:null); double opacity = gd.getNextNumber()/100.0; iRoi.setOpacity(opacity); boolean zeroTransparent2 = gd.getNextBoolean(); if (zeroTransparent!=zeroTransparent2) iRoi.setZeroTransparent(zeroTransparent2); boolean newOverlay = addToOverlay?gd.getNextBoolean():false; if (newOverlay) roi.setName("new-overlay"); return true; }