Use UIImagePNGRepresentation to preserve transparency