private static ImageCrop?ParseCrop(DocumentFormat.OpenXml.Vml.ImageData imageData) { if (imageData == null) { return(null); } var result = new ImageCrop(null, imageData, ParseStringInt(imageData.CropLeft), ParseStringInt(imageData.CropRight), ParseStringInt(imageData.CropTop), ParseStringInt(imageData.CropBottom)); return(result.Left + result.Bottom + result.Right + result.Top == 0 ? null : result); }
/// <summary> /// Draw image data /// </summary> /// <param name="position"></param> /// <param name="marginLeft"></param> /// <param name="marginTop"></param> /// <param name="width"></param> /// <param name="height"></param> /// <param name="imageData"></param> /// <returns></returns> private string DrawImageData(string position, int marginLeft, int marginTop, int width, int height, DocumentFormat.OpenXml.Vml.ImageData imageData) { OpenXmlPart image = document.MainDocumentPart.GetPartById(imageData.RelationshipId); string fileName = Path.Combine(imageDirectory, Path.GetFileName(image.Uri.ToString())); fileName = Util.StreamToFile(image.GetStream(), fileName, FileMode.CreateNew, null); return(string.Format("<span style='position:{0};margin-left:{1}px;margin-top:{2}px;width:{3}px;height:{4}px'><img width=\"{3}\" height=\"{4}\" alt=\"{5}\" src=\"{6}\"/></span>", position, marginLeft, marginTop, width, height, Path.GetFileName(fileName), Util.GetRelativePath(fileName))); }