internal IXLPicture CopyTo(XLWorksheet targetSheet) { if (targetSheet == null) { targetSheet = Worksheet as XLWorksheet; } IXLPicture newPicture; if (targetSheet == Worksheet) { newPicture = targetSheet.AddPicture(ImageStream, Format); } else { newPicture = targetSheet.AddPicture(ImageStream, Format, Name); } newPicture = newPicture .WithPlacement(XLPicturePlacement.FreeFloating) .WithSize(Width, Height) .WithPlacement(Placement); switch (Placement) { case XLPicturePlacement.FreeFloating: newPicture.MoveTo(Left, Top); break; case XLPicturePlacement.Move: var newAddress = new XLAddress(targetSheet, TopLeftCellAddress.RowNumber, TopLeftCellAddress.ColumnNumber, false, false); newPicture.MoveTo(newAddress, GetOffset(XLMarkerPosition.TopLeft)); break; case XLPicturePlacement.MoveAndSize: var newFromAddress = new XLAddress(targetSheet, TopLeftCellAddress.RowNumber, TopLeftCellAddress.ColumnNumber, false, false); var newToAddress = new XLAddress(targetSheet, BottomRightCellAddress.RowNumber, BottomRightCellAddress.ColumnNumber, false, false); newPicture.MoveTo(newFromAddress, GetOffset(XLMarkerPosition.TopLeft), newToAddress, GetOffset(XLMarkerPosition.BottomRight)); break; } return(newPicture); }
internal IXLPicture CopyTo(XLWorksheet targetSheet) { if (targetSheet == null) { targetSheet = Worksheet as XLWorksheet; } IXLPicture newPicture; if (targetSheet == Worksheet) { newPicture = targetSheet.AddPicture(ImageStream, Format); } else { newPicture = targetSheet.AddPicture(ImageStream, Format, Name); } newPicture = newPicture .WithPlacement(XLPicturePlacement.FreeFloating) .WithSize(Width, Height) .WithPlacement(Placement); switch (Placement) { case XLPicturePlacement.FreeFloating: newPicture.MoveTo(Left, Top); break; case XLPicturePlacement.Move: newPicture.MoveTo(targetSheet.Cell(TopLeftCell.Address), GetOffset(XLMarkerPosition.TopLeft)); break; case XLPicturePlacement.MoveAndSize: newPicture.MoveTo(targetSheet.Cell(TopLeftCell.Address), GetOffset(XLMarkerPosition.TopLeft), targetSheet.Cell(BottomRightCell.Address), GetOffset(XLMarkerPosition.BottomRight)); break; } return(newPicture); }