public void AddImage(byte[] imgBuf, float height, float width, RPLFormat.Sizings sizing) { if (imgBuf == null || imgBuf.Length == 0) { sizing = RPLFormat.Sizings.Clip; imgBuf = PictureDescriptor.INVALIDIMAGEDATA; } byte[] hash = new OfficeImageHasher(imgBuf).Hash; int num = ToTwips(height); int num2 = ToTwips(width); int num3 = (int)m_dataStream.Position; ImageHash key = new ImageHash(hash, sizing, num2, num); if (m_images.ContainsKey(key)) { num3 = m_images[key]; } else { new PictureDescriptor(imgBuf, hash, num2, num, sizing, m_imgIndex).Serialize(m_dataStream); m_imgIndex++; m_images.Add(key, num3); } m_charFormat.SetIsInlineImage(num3); WriteSpecialText("\u0001"); }
public override bool Equals(object obj) { ImageHash imageHash = (ImageHash)obj; if (m_sizing != imageHash.m_sizing || m_width != imageHash.m_width || m_height != imageHash.m_height || m_md4.Length != imageHash.m_md4.Length) { return(false); } for (int i = 0; i < m_md4.Length; i++) { if (m_md4[i] != imageHash.m_md4[i]) { return(false); } } return(true); }