本文整理汇总了Java中org.apache.poi.ss.usermodel.Picture类的典型用法代码示例。如果您正苦于以下问题:Java Picture类的具体用法?Java Picture怎么用?Java Picture使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Picture类属于org.apache.poi.ss.usermodel包,在下文中一共展示了Picture类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createDefaultLogo
import org.apache.poi.ss.usermodel.Picture; //导入依赖的package包/类
/**
* @작성자 : KYJ
* @작성일 : 2016. 9. 9.
* @param sheet
* @throws Exception
*/
final static void createDefaultLogo(Sheet sheet) throws Exception {
Workbook workbook = sheet.getWorkbook();
byte[] defaultLogoImage = getDefaultLogoImage();
if(defaultLogoImage == null)
return;
int pictureIdx = workbook.addPicture(defaultLogoImage, Workbook.PICTURE_TYPE_PNG);
CreationHelper creationHelper = workbook.getCreationHelper();
ClientAnchor anchor = creationHelper.createClientAnchor(); //new XSSFClientAnchor();
// anchor.setAnchorType(AnchorType.MOVE_DONT_RESIZE);
Drawing createDrawingPatriarch = sheet.createDrawingPatriarch();
anchor.setDx1(0);
anchor.setCol1(0);
anchor.setRow1(0);
//#1 테이블 셀의 너비에 의존적이지않게 사이즈조절.
anchor.setAnchorType(AnchorType.MOVE_DONT_RESIZE);
Picture createPicture = createDrawingPatriarch.createPicture(anchor, pictureIdx);
//#2 테이블 셀의 너비에 의존적이지않게 사이즈조절.
createPicture.resize();
}
示例2: setImage
import org.apache.poi.ss.usermodel.Picture; //导入依赖的package包/类
/**
* セルに対し画像を設定します。
* @param c セル。
* @param value 値。
* @param p セル位置情報。
*/
private void setImage(final Cell c, final Object value, final CellPosition p) {
ImageData img = (ImageData) value;
int cidx = c.getColumnIndex();
int ridx = c.getRowIndex();
ClientAnchor anchor = new XSSFClientAnchor();
anchor.setCol1(cidx);
anchor.setCol2(cidx + p.getColumns());
anchor.setRow1(ridx);
anchor.setRow2(ridx + p.getRows());
anchor.setDx1(XSSFShape.EMU_PER_PIXEL * p.getDx1());
anchor.setDy1(XSSFShape.EMU_PER_PIXEL * p.getDy1());
anchor.setDx2(XSSFShape.EMU_PER_PIXEL * p.getDx2());
anchor.setDy2(XSSFShape.EMU_PER_PIXEL * p.getDy2());
anchor.setAnchorType(ClientAnchor.MOVE_AND_RESIZE);
int imgtype = XSSFWorkbook.PICTURE_TYPE_PNG;
if (ImageData.CONTENT_TYPE_JPEG.equals(img.getContentType())) {
imgtype = XSSFWorkbook.PICTURE_TYPE_JPEG;
} else if (ImageData.CONTENT_TYPE_GIF.equals(img.getContentType())) {
imgtype = XSSFWorkbook.PICTURE_TYPE_GIF;
}
int pidx = this.workbook.addPicture(img.getContents(), imgtype);
Picture pic = this.drawing.createPicture(anchor, pidx);
this.resizeImage(c, pic, p);
}
示例3: computeAxisRowIndex
import org.apache.poi.ss.usermodel.Picture; //导入依赖的package包/类
public static int computeAxisRowIndex(Sheet sheet, Picture picture) {
// Calculates the dimensions in EMUs for the anchor of the given picture
val dimension = ImageUtils.getDimensionFromAnchor(picture);
val halfHeight = dimension.getHeight() / Units.EMU_PER_POINT / 2;
val clientAnchor = picture.getClientAnchor();
val anchorRow1 = clientAnchor.getRow1();
val fromRowHeight = sheet.getRow(anchorRow1).getHeightInPoints();
val anchorDy1 = clientAnchor.getDy1();
val anchorRow2 = clientAnchor.getRow2();
val y1 = sheet instanceof HSSFSheet
? anchorDy1 / 256.0f * fromRowHeight // refer to HSSFClientAnchor.getAnchorHeightInPoints
: anchorDy1 / Units.EMU_PER_POINT;
var sumHeight = fromRowHeight - y1;
if (sumHeight >= halfHeight) return anchorRow1;
for (var i = anchorRow1 + 1; i < anchorRow2; ++i) {
sumHeight += sheet.getRow(i).getHeightInPoints();
if (sumHeight >= halfHeight) return i;
}
return anchorRow2;
}
示例4: computeAxisColIndex
import org.apache.poi.ss.usermodel.Picture; //导入依赖的package包/类
public static int computeAxisColIndex(Sheet sheet, Picture picture) {
// Calculates the dimensions in EMUs for the anchor of the given picture
val dimension = ImageUtils.getDimensionFromAnchor(picture); //
val halfWidth = dimension.getHeight() / Units.EMU_PER_PIXEL / 2;
val clientAnchor = picture.getClientAnchor();
val anchorCol1 = clientAnchor.getCol1();
val anchorCol2 = clientAnchor.getCol2();
val anchorDx1 = clientAnchor.getDx1();
val fromColumnWidth = sheet.getColumnWidthInPixels(anchorCol1);
var sumWidth = fromColumnWidth - anchorDx1 / Units.EMU_PER_PIXEL;
if (sumWidth >= halfWidth) return anchorCol1;
for (var i = anchorCol1 + 1; i < anchorCol2; ++i) {
sumWidth += sheet.getColumnWidthInPixels(i);
if (sumWidth >= halfWidth) return i;
}
return anchorCol2;
}
示例5: resizeImage
import org.apache.poi.ss.usermodel.Picture; //导入依赖的package包/类
/**
* 画像サイズの調整。
* @param c セル。
* @param pic 画像。
* @param p セル位置情報。
*/
private void resizeImage(final Cell c, final Picture pic, final CellPosition p) {
if ("image".equals(p.getAspect())) {
double w = this.getAnchorWidth(p) - (p.getDx1() - p.getDx2());
double h = this.getAnchorHeight(p) - (p.getDy1() - p.getDy2());
Dimension d = pic.getImageDimension();
log.debug("w,h=" + w + "," + h);
log.debug("iw,ih=" + d.getWidth() + "," + d.getHeight());
if (w > h) {
double cw = w / h;
double iw = d.getWidth() / d.getHeight();
pic.resize((iw / cw) * 1.0, 1.0);
} else {
double ch = h / w;
double ih = d.getHeight() / d.getWidth();
pic.resize(1.0, (ih / ch) * 1.0);
}
}
}
示例6: extractPicturePortion
import org.apache.poi.ss.usermodel.Picture; //导入依赖的package包/类
/**
* 抽象出图片生成业务代码
*
* @throws IOException
*/
private void extractPicturePortion(String svgString, XSSFWorkbook wb,
XSSFSheet sheet, int startCol, int endCol, int startRow, int endRow)
throws IOException {
// 图片
if (org.apache.commons.lang3.StringUtils.isNotBlank(svgString)) {
byte[] safeDataBytes = new BASE64Decoder().decodeBuffer(svgString);
int pictureIdx = wb.addPicture(safeDataBytes,
Workbook.PICTURE_TYPE_JPEG);
CreationHelper helper = wb.getCreationHelper();
// Create the drawing patriarch. This is the top level container for
// all shapes.
Drawing drawing = sheet.createDrawingPatriarch();
// add a picture shape
ClientAnchor anchor = helper.createClientAnchor();
// set top-left corner of the picture,
// subsequent call of Picture#resize() will operate relative to it
anchor.setCol1(startCol);
anchor.setCol2(endCol);
anchor.setRow1(startRow);
anchor.setRow2(endRow);
anchor.setDx1(0);
anchor.setDy1(0);
anchor.setDx2(0);
anchor.setDy2(0);
anchor.setAnchorType(ClientAnchor.MOVE_DONT_RESIZE);
Picture pict = drawing.createPicture(anchor, pictureIdx);
pict.resize(1);
}
}
示例7: addChart
import org.apache.poi.ss.usermodel.Picture; //导入依赖的package包/类
protected void addChart(HSSFWorkbook workbook, byte[] chart, String name) {
int pictureIndex = workbook.addPicture(chart, HSSFWorkbook.PICTURE_TYPE_PNG);
HSSFSheet sheet = workbook.createSheet(name);
addTitle(sheet, name, 0);
Drawing drawing = sheet.createDrawingPatriarch();
CreationHelper helper = workbook.getCreationHelper();
ClientAnchor anchor = helper.createClientAnchor();
anchor.setRow1(1);
anchor.setCol1(0);
Picture picture = drawing.createPicture(anchor, pictureIndex);
picture.resize();
}
示例8: main
import org.apache.poi.ss.usermodel.Picture; //导入依赖的package包/类
public static void main(String[] args) throws Exception
{
String dataPath = "src/featurescomparison/workingwithworkbook/addimages/data/";
//create a new workbook
Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();
//add picture data to this workbook.
InputStream is = new FileInputStream(dataPath + "aspose.jpg");
byte[] bytes = IOUtils.toByteArray(is);
int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
is.close();
CreationHelper helper = wb.getCreationHelper();
//create sheet
Sheet sheet = wb.createSheet();
// Create the drawing patriarch. This is the top level container for all shapes.
Drawing drawing = sheet.createDrawingPatriarch();
//add a picture shape
ClientAnchor anchor = helper.createClientAnchor();
//set top-left corner of the picture,
//subsequent call of Picture#resize() will operate relative to it
anchor.setCol1(3);
anchor.setRow1(2);
Picture pict = drawing.createPicture(anchor, pictureIdx);
//auto-size picture relative to its top-left corner
pict.resize();
//save workbook
String file = dataPath + "ApacheImage.xls";
if(wb instanceof XSSFWorkbook) file += "x";
FileOutputStream fileOut = new FileOutputStream(file);
wb.write(fileOut);
fileOut.close();
System.out.println("Done...");
}
示例9: resizeMarginLeftTop
import org.apache.poi.ss.usermodel.Picture; //导入依赖的package包/类
/**
* 重置图片大小,设置顶部、左侧边距
*
* @author ZhengWei(HY)
* @createDate 2017-10-31
* @version v1.0
*
* @param i_Picture
*/
protected void resizeMarginLeftTop(Picture i_Picture)
{
i_Picture.resize();
i_Picture.getAnchor().setDx1(i_Picture.getAnchor().getDx1() + Help.NVL(this.marginLeft ,0));
i_Picture.getAnchor().setDx2(i_Picture.getAnchor().getDx2() + Help.NVL(this.marginLeft ,0));
i_Picture.getAnchor().setDy1(i_Picture.getAnchor().getDy1() + Help.NVL(this.marginTop ,0));
i_Picture.getAnchor().setDy2(i_Picture.getAnchor().getDy2() + Help.NVL(this.marginTop ,0));
}