在图表中设置图片作为背景填充
Contents
[
Hide
]
Aspose.Cells允许您为不同对象(如图表的绘图区域、图表区域或图例框)设置渐变、纹理、图案或图片填充效果。本文档展示了如何向图表的背景添加图像。
以下图表是使用示例代码创建的。
##执行示例代码后显示的输出图表的图像
Java代码设置图片为图表中的背景填充
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(SetPictureAsBackgroundFillInChart.class); | |
// Create a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet. | |
Worksheet sheet = workbook.getWorksheets().get(0); | |
// Set the name of worksheet | |
sheet.setName("Data"); | |
// Get the cells collection in the sheet. | |
Cells cells = workbook.getWorksheets().get(0).getCells(); | |
// Put some values into a cells of the Data sheet. | |
cells.get("A1").putValue("Region"); | |
cells.get("A2").putValue("France"); | |
cells.get("A3").putValue("Germany"); | |
cells.get("A4").putValue("England"); | |
cells.get("A5").putValue("Sweden"); | |
cells.get("A6").putValue("Italy"); | |
cells.get("A7").putValue("Spain"); | |
cells.get("A8").putValue("Portugal"); | |
cells.get("B1").putValue("Sale"); | |
cells.get("B2").putValue(70000); | |
cells.get("B3").putValue(55000); | |
cells.get("B4").putValue(30000); | |
cells.get("B5").putValue(40000); | |
cells.get("B6").putValue(35000); | |
cells.get("B7").putValue(32000); | |
cells.get("B8").putValue(10000); | |
// Add a chart sheet. | |
int sheetIndex = workbook.getWorksheets().add(SheetType.CHART); | |
sheet = workbook.getWorksheets().get(sheetIndex); | |
// Set the name of worksheet | |
sheet.setName("Chart"); | |
// Create chart | |
int chartIndex = 0; | |
chartIndex = sheet.getCharts().add(ChartType.COLUMN, 1, 1, 25, 10); | |
Chart chart = sheet.getCharts().get(chartIndex); | |
// Set some properties of chart plot area. To set a picture as fill format and make the border invisible. | |
File file = new File(dataDir + "aspose-logo.png"); | |
byte[] data = new byte[(int) file.length()]; | |
FileInputStream fis = new FileInputStream(file); | |
fis.read(data); | |
chart.getPlotArea().getArea().getFillFormat().setImageData(data); | |
chart.getPlotArea().getBorder().setVisible(false); | |
// Set properties of chart title | |
chart.getTitle().setText("Sales By Region"); | |
chart.getTitle().getFont().setColor(Color.getBlue()); | |
chart.getTitle().getFont().setBold(true); | |
chart.getTitle().getFont().setSize(12); | |
// Set properties of nseries | |
chart.getNSeries().add("Data!B2:B8", true); | |
chart.getNSeries().setCategoryData("Data!A2:A8"); | |
chart.getNSeries().setColorVaried(true); | |
// Set the Legend. | |
Legend legend = chart.getLegend(); | |
legend.setPosition(LegendPositionType.TOP); | |
// Save the excel file | |
workbook.save(dataDir + "column_chart.xls"); |