Browse Source

Merge two release blocking fixes from Trunk

git-svn-id: https://svn.apache.org/repos/asf/poi/branches/REL_3_11_BRANCH@1646123 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_11_FINAL^2
Nick Burch 9 years ago
parent
commit
c67a8162de

+ 0
- 2
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java View File

*/ */
@Override @Override
public float getColumnWidthInPixels(int columnIndex) { public float getColumnWidthInPixels(int columnIndex) {
int styleIdx = getColumnHelper().getColDefaultStyle(columnIndex);
CellStyle cs = getWorkbook().getStylesSource().getStyleAt(styleIdx);
float widthIn256 = getColumnWidth(columnIndex); float widthIn256 = getColumnWidth(columnIndex);
return (float)(widthIn256/256.0*XSSFWorkbook.DEFAULT_CHARACTER_WIDTH); return (float)(widthIn256/256.0*XSSFWorkbook.DEFAULT_CHARACTER_WIDTH);
} }

+ 1
- 12
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java View File



package org.apache.poi.xssf.usermodel; package org.apache.poi.xssf.usermodel;


import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.*;


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;


import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFPicture;
import org.apache.poi.hssf.usermodel.HSSFShape;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.BaseTestPicture; import org.apache.poi.ss.usermodel.BaseTestPicture;
import org.apache.poi.ss.usermodel.ClientAnchor; import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.xssf.XSSFITestDataProvider; import org.apache.poi.xssf.XSSFITestDataProvider;
import org.apache.poi.xssf.XSSFTestDataSamples; import org.apache.poi.xssf.XSSFTestDataSamples;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTTwoCellAnchor; import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTTwoCellAnchor;
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.STEditAs; import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.STEditAs;


wb.close(); wb.close();
} }

} }

+ 0
- 3
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java View File

import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;


import org.apache.poi.ss.usermodel.PictureData; import org.apache.poi.ss.usermodel.PictureData;
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Workbook;
import org.junit.Test; import org.junit.Test;
import org.junit.Ignore;


/** /**
* Test <code>HSSFPicture</code>. * Test <code>HSSFPicture</code>.

+ 70
- 1
src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java View File

package org.apache.poi.ss.usermodel; package org.apache.poi.ss.usermodel;


import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;


import java.awt.Dimension; import java.awt.Dimension;
import java.io.FileOutputStream;
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.IOException;


import javax.imageio.ImageIO;

import org.apache.poi.hssf.HSSFITestDataProvider;
import org.apache.poi.ss.ITestDataProvider; import org.apache.poi.ss.ITestDataProvider;
import org.apache.poi.ss.util.ImageUtils; import org.apache.poi.ss.util.ImageUtils;
import org.apache.poi.util.Units; import org.apache.poi.util.Units;
import org.junit.Test;


/** /**
* @author Yegor Kozlov * @author Yegor Kozlov
assertEquals("the image width differs", imgDim.getWidth(), inpDim.getWidth()/emuPX, 1); assertEquals("the image width differs", imgDim.getWidth(), inpDim.getWidth()/emuPX, 1);
} }



@Test
public void testResizeNoColumns() throws IOException {
Workbook wb = _testDataProvider.createWorkbook();
try {
Sheet sheet = wb.createSheet();
Row row = sheet.createRow(0);
handleResize(wb, sheet, row);
} finally {
wb.close();
}
}

@Test
public void testResizeWithColumns() throws IOException {
Workbook wb = _testDataProvider.createWorkbook();
try {
Sheet sheet = wb.createSheet();
Row row = sheet.createRow(0);
row.createCell(0);
handleResize(wb, sheet, row);
} finally {
wb.close();
}
}


private void handleResize(Workbook wb, Sheet sheet, Row row) throws IOException {
Drawing drawing = sheet.createDrawingPatriarch();
CreationHelper createHelper = wb.getCreationHelper();

final byte[] bytes = HSSFITestDataProvider.instance.getTestDataFileContent("logoKarmokar4.png");
row.setHeightInPoints(getImageSize(bytes).y);
int pictureIdx = wb.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
//add a picture shape
ClientAnchor anchor = createHelper.createClientAnchor();
//set top-left corner of the picture,
//subsequent call of Picture#resize() will operate relative to it
anchor.setCol1(0);
anchor.setRow1(0);
Picture pict = drawing.createPicture(anchor, pictureIdx);
//auto-size picture relative to its top-left corner
pict.resize();
}
private static Point getImageSize( byte [] image) throws IOException {
BufferedImage img = ImageIO.read(new ByteArrayInputStream(image));
assertNotNull(img);
return new Point(img.getWidth(), img.getHeight());
}
} }

Loading…
Cancel
Save