コード例 #1
0
 public bool Compare(ImageData arg)
 {
     if (ContentType != arg.ContentType)
         return false;
     if (Image.GetLongLength(0) != arg.Image.GetLongLength(0))
         return false;
     // Compare the arrays byte by byte
     long length = Image.GetLongLength(0);
     byte[] image1 = Image;
     byte[] image2 = arg.Image;
     for (long n = 0; n < length; n++)
         if (image1[n] != image2[n])
             return false;
     return true;
 }
コード例 #2
0
 // General function for handling images that tries to use an existing image if they are the same
 private static ImageData ManageImageCopy(ImagePart oldImage, OpenXmlPart newContentPart, List<ImageData> images)
 {
     ImageData oldImageData = new ImageData(newContentPart, oldImage);
     foreach (ImageData item in images)
     {
         if (newContentPart != item.ContentPart)
             continue;
         if (item.Compare(oldImageData))
             return item;
     }
     images.Add(oldImageData);
     return oldImageData;
 }