title: Apache POI insert image without anchor
body: <p>I'm creating Excel file in Java using Apache POI, it works but the inserted image is anchored to columns / rows. There are 2 issues with this method:</p>
  
  <ol>
  <li><p>The image doesn't keep the original size (get stretched a little bit).</p></li>
  <li><p>When resizing the columns/rows the image get stretched. Is there any way to insert an image to Excel without anchor? (same as using Excel / Insert / Picture)</p></li>
  </ol>
  
  <p>I'm using the following example from Apache POI document page:</p>
  
  <pre><code>//create a new workbook
  Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();
  
  //add picture data to this workbook.
  InputStream is = new FileInputStream("image1.jpeg");
  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 = "picture.xls";
  if(wb instanceof XSSFWorkbook) file += "x";
  FileOutputStream fileOut = new FileOutputStream(file);
  wb.write(fileOut);
  fileOut.close();
  </code></pre>
  
  <p>Thanks for your answer.</p>