MCPcopy Create free account
hub / github.com/AstroImageJ/astroimagej / saveTextRoi

Method saveTextRoi

ij/src/main/java/ij/io/RoiEncoder.java:372–400  ·  view source on GitHub ↗
(TextRoi roi)

Source from the content-addressed store, hash-verified

370 }
371
372 void saveTextRoi(TextRoi roi) {
373 Font font = roi.getCurrentFont();
374 String fontName = font.getName();
375 int size = font.getSize();
376 int drawStringMode = roi.getDrawStringMode()?1024:0;
377 int style = font.getStyle() + roi.getJustification()*256+drawStringMode;
378 String text = roi.getText();
379 float angle = (float)roi.getAngle();
380 int angleLength = 4;
381 int fontNameLength = fontName.length();
382 int textLength = text.length();
383 int textRoiDataLength = 16+fontNameLength*2+textLength*2 + angleLength;
384 byte[] data2 = new byte[HEADER_SIZE+HEADER2_SIZE+textRoiDataLength+roiNameSize+roiPropsSize];
385 System.arraycopy(data, 0, data2, 0, HEADER_SIZE);
386 data = data2;
387 putShort(RoiDecoder.SUBTYPE, RoiDecoder.TEXT);
388 putInt(HEADER_SIZE, size);
389 putInt(HEADER_SIZE+4, style);
390 putInt(HEADER_SIZE+8, fontNameLength);
391 putInt(HEADER_SIZE+12, textLength);
392 for (int i=0; i<fontNameLength; i++)
393 putShort(HEADER_SIZE+16+i*2, fontName.charAt(i));
394 for (int i=0; i<textLength; i++)
395 putShort(HEADER_SIZE+16+fontNameLength*2+i*2, text.charAt(i));
396 int hdr2Offset = HEADER_SIZE+textRoiDataLength;
397 //ij.IJ.log("saveTextRoi: "+HEADER_SIZE+" "+textRoiDataLength+" "+fontNameLength+" "+textLength);
398 putFloat(hdr2Offset-angleLength, angle);
399 putHeader2(roi, hdr2Offset);
400 }
401
402 private int saveImageRoi(ImageRoi roi, int options) {
403 byte[] bytes = roi.getSerializedImage();

Callers 1

writeMethod · 0.95

Calls 15

putShortMethod · 0.95
putIntMethod · 0.95
putFloatMethod · 0.95
putHeader2Method · 0.95
getDrawStringModeMethod · 0.80
charAtMethod · 0.80
getNameMethod · 0.65
getSizeMethod · 0.65
getJustificationMethod · 0.65
lengthMethod · 0.65
getCurrentFontMethod · 0.45
getStyleMethod · 0.45

Tested by

no test coverage detected