2011-02-11 5 views
1

Mac 데스크탑 응용 프로그램에서 iPad 응용 프로그램으로 이미지를 전송하고 있지만 그 과정에서 모든 이미지의 EXIF ​​데이터가 손실됩니다. 맥에이미지 메타 데이터 손실

: 다음과 같이

셋업은 1 - 이미지 2에서있는 NSData를 잡아 - 이미지 3의 크기를 조정 - 온 무선 네트워크

을 통해 아이 패드 응용 프로그램에 이미지를 전송 iPad : 4 - 파일에 NSData 쓰기 5 - 파일에서 이미지 읽기

NSData가 iPa에 도착하면 d, EXIF ​​데이터가 손실 된 것 같습니다. 수동으로 이미지를 열면 찾을 수있는 EXIF ​​데이터가 없습니다.

EXIF ​​데이터가 손실되는 이유를 알고 있습니까? 크기 조정 작업은 EXIF ​​데이터에 영향을 미치지 않지만, 일단 NSData가 iPad에 도착하면 EXIF ​​데이터가 남아 있지 않습니다 (디스크에 데이터를 작성하기 전에도). 필자는 Mac에서 iPad로 보내는 데이터가 동일하다고 생각합니다.

나는 두 플랫폼의 데이터에 액세스 할 수 ImageIO에서 프레임 워크를 사용합니다. iPad/iPhone의 ImageIO가 다르게 작업하고 EXIF ​​데이터를 제거하거나 지원하지 않을 수 있습니까?

모든 안내를 환영합니다.

답변

1

나는 두 플랫폼의 데이터에 액세스 할 수 ImageIO에서 프레임 워크를 사용합니다. iPad/iPhone의 ImageIO가 다르게 작업하고 EXIF ​​데이터를 제거하거나 지원하지 않을 수 있습니까?

네, 가능하지만 않을 수 있습니다.

더 가능성이 지원하지 않는 EXIF ​​데이터있어 것입니다.

CGImage 객체는 단지 이미지 일뿐입니다. 파일에서 CGImage (s) 만 추출하면 EXIF ​​또는 다른 속성 (예 : 해상도, 색상 공간) 데이터가 아닌 이미지 만 가져옵니다. 당신은 get, 전송, 그리고 apply 이미지 사전과 함께 사전이 필요합니다.

는 모든 Mac에서이 작업을 수행하고 단순히 아이 패드에 최종 이미지를 전송하는 것이 더 쉽습니다 나에게 보인다. 아래쪽으로 크기를 조정할 경우 데이터를 더 적게 전송 (작은 이미지)하므로 더 빨리 만들 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 시작 게시물에 쓴 것처럼 크기 조정은 Mac에서 이루어지며 메타 데이터를 포함한 크기가 조정 된 이미지가 iPad (NSData 인스턴스로)로 전송되지만 메타 데이터는 해당 여행 중에 어딘가에 저장됩니다. 나 (따라서 여기 내 질문). 나는 그 원인과 해결책을 찾으려고 조금 더 파헤 칠 것이다. –

+0

@bare_nature : 당신의 질문은 당신이 이미지와 함께 속성을 전송하고 있다고 말하지 않습니다; 그렇다면 질문을 편집하여 코드와 코드를 iPad 측에 포함시켜 코드를 수신하고 다시 두 코드를 넣어야합니다. –