title: UIImagePNGRepresentation() returning different bytes
body: <p>I have some images with transparency that I am loading from the file system into <code>UIImageView</code> views.  For my purpose I need to compare the image in the <code>UIImageView</code> with the file on the filesystem.  So I do something like the following:</p>
  
  <pre><code>NSString *directoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
  NSString *imageFile = [NSString stringWithFormat:@"%@/image.png", directoryPath];
  
  if ([[NSData dataWithContentsOfFile:imageFile] isEqualToData:UIImagePNGRepresentation([imageView image])]) {
      NSLog(@"Equal");
  } else {
      NSString *dataDescription = [[[NSData dataWithContentsOfFile:feltFile] description] substringToIndex:100];
      NSString *imageDescription = [[UIImagePNGRepresentation([backgroundImageView image]) description] substringToIndex:100]
      NSLog(@"Unequal: %@ %@", dataDescription, imageDescription);
  }
  </code></pre>
  
  <p>I know they are PNG images.  Neither description is NULL when I print it.  But they are unequal.</p>
  
  <p>Why is this happening?</p>