/// <summary> /// Get all images (multiple if filenames are available) from the dataObject /// Returned images must be disposed by the calling code! /// </summary> /// <param name="dataObject"></param> /// <returns>IEnumerable<Image></returns> public static IEnumerable <Image> GetImages(IDataObject dataObject) { // Get single image, this takes the "best" match Image singleImage = GetImage(dataObject); if (singleImage != null) { LOG.InfoFormat("Got image from clipboard with size {0} and format {1}", singleImage.Size, singleImage.PixelFormat); yield return(singleImage); } else { // check if files are supplied List <string> imageFiles = GetImageFilenames(dataObject); if (imageFiles != null) { foreach (string imageFile in imageFiles) { Image returnImage = null; try { returnImage = ImageHelper.LoadImage(imageFile); } catch (Exception streamImageEx) { LOG.Error("Problem retrieving Image from clipboard.", streamImageEx); } if (returnImage != null) { LOG.InfoFormat("Got image from clipboard with size {0} and format {1}", returnImage.Size, returnImage.PixelFormat); yield return(returnImage); } } } } }