/** * @return the sheet which contains the picture shape */ @Override public HSSFSheet getSheet() { return getPatriarch().getSheet(); } }
/** * Return the dimension of the embedded image in pixel * * @return image dimension in pixels */ @Override public Dimension getImageDimension(){ InternalWorkbook iwb = getPatriarch().getSheet().getWorkbook().getWorkbook(); EscherBSERecord bse = iwb.getBSERecord(getPictureIndex()); byte[] data = bse.getBlipRecord().getPicturedata(); int type = bse.getBlipTypeWin32(); return ImageUtils.getImageDimension(new ByteArrayInputStream(data), type); }
/** * Return picture data for this shape * * @return picture data for this shape or {@code null} if picture wasn't embedded, i.e. external linked */ @Override public HSSFPictureData getPictureData(){ int picIdx = getPictureIndex(); if (picIdx == -1) { return null; } HSSFPatriarch patriarch = getPatriarch(); HSSFShape parent = getParent(); while(patriarch == null && parent != null) { patriarch = parent.getPatriarch(); parent = parent.getParent(); } if(patriarch == null) { throw new IllegalStateException("Could not find a patriarch for a HSSPicture"); } InternalWorkbook iwb = patriarch.getSheet().getWorkbook().getWorkbook(); EscherBSERecord bse = iwb.getBSERecord(picIdx); EscherBlipRecord blipRecord = bse.getBlipRecord(); return new HSSFPictureData(blipRecord); }
/** * @return the sheet which contains the picture shape */ @Override public HSSFSheet getSheet() { return getPatriarch().getSheet(); } }
private float getPixelWidth(int column){ int def = getPatriarch().getSheet().getDefaultColumnWidth()*256; int cw = getPatriarch().getSheet().getColumnWidth(column); return cw == def ? PX_DEFAULT : PX_MODIFIED; }
private float getRowHeightInPixels(int i){ HSSFRow row = getPatriarch().getSheet().getRow(i); float height; if(row != null) height = row.getHeight(); else height = getPatriarch().getSheet().getDefaultRowHeight(); return height/PX_ROW; }
private float getColumnWidthInPixels(int column){ int cw = getPatriarch().getSheet().getColumnWidth(column); float px = getPixelWidth(column); return cw/px; }
/** * Return the dimension of this image * * @return image dimension */ public Dimension getImageDimension(){ EscherBSERecord bse = getPatriarch().getSheet()._book.getBSERecord(getPictureIndex()); byte[] data = bse.getBlipRecord().getPicturedata(); int type = bse.getBlipTypeWin32(); return ImageUtils.getImageDimension(new ByteArrayInputStream(data), type); }
/** * Return the dimension of the embedded image in pixel * * @return image dimension in pixels */ @Override public Dimension getImageDimension(){ InternalWorkbook iwb = getPatriarch().getSheet().getWorkbook().getWorkbook(); EscherBSERecord bse = iwb.getBSERecord(getPictureIndex()); byte[] data = bse.getBlipRecord().getPicturedata(); int type = bse.getBlipTypeWin32(); return ImageUtils.getImageDimension(new ByteArrayInputStream(data), type); }
/** * Return picture data for this shape * * @return picture data for this shape */ public HSSFPictureData getPictureData(){ InternalWorkbook iwb = getPatriarch().getSheet().getWorkbook().getWorkbook(); EscherBlipRecord blipRecord = iwb.getBSERecord(getPictureIndex()).getBlipRecord(); return new HSSFPictureData(blipRecord); }
/** * Return picture data for this shape * * @return picture data for this shape or {@code null} if picture wasn't embedded, i.e. external linked */ @Override public HSSFPictureData getPictureData(){ int picIdx = getPictureIndex(); if (picIdx == -1) { return null; } HSSFPatriarch patriarch = getPatriarch(); HSSFShape parent = getParent(); while(patriarch == null && parent != null) { patriarch = parent.getPatriarch(); parent = parent.getParent(); } if(patriarch == null) { throw new IllegalStateException("Could not find a patriarch for a HSSPicture"); } InternalWorkbook iwb = patriarch.getSheet().getWorkbook().getWorkbook(); EscherBSERecord bse = iwb.getBSERecord(picIdx); EscherBlipRecord blipRecord = bse.getBlipRecord(); return new HSSFPictureData(blipRecord); }