2013-01-17 3 views
1

저는 클라이언트에서 JPEG 이미지를 압축해야하는 Silverlight 응용 프로그램을 개발했습니다. 이 목표를 달성하기 위해 FJCore 라이브러리를 사용하고 있습니다.Silverlight에서 모든 JPEG 메타 데이터 읽기 및 쓰기

그러나 내가 만나는 가장 큰 문제 중 하나는이 도구 키트가 먼저 JPEG를 WriteableBitmap으로 변환해야한다는 점입니다.이 WriteableBitmap은 JPEG와 관련된 모든 메타 데이터 (예 : EXIF, XMP, JFIF, FJCore 라이브러리의 소스를 수정하여 EXIF를 유지하고 이미지를 압축 한 다음 EXIF ​​데이터를 다시 첨부합니다. 이 프로세스는 작동하지만 다른 유형의 메타 데이터 정보가 손실됩니다.

JPEG 형식으로 존재하는 서로 다른 유형의 메타 데이터를 저장하고 쓰는 기능을 구현하는 대신 형식이나 형식에 관계없이 모든 메타 데이터를 추출 할 수있는 단순화 된 방법을 찾고 있습니다. 해당 이미지를 압축/크기 조정 한 다음 이전에 저장 한 모든 메타 데이터를 다시 첨부 할 수있는 FJCore 툴킷 내 목표를 달성하는 데 도움이 될 수있는 방향이나 샘플 코드는 크게 감사하겠습니다. 이 라이브러리는 Silverlight 응용 프로그램이므로 .NET 라이브러리를 사용해야합니다.

감사합니다.

답변

1

FJCore ImageTools를 사용하여이를 수행 할 수 있습니다.

// Exif. Do something? 
headers.Add(header); 

https://github.com/briandonahue/FluxJpeg.Core/blob/master/FJCore/Decoder/JpegDecoder.cs

을 그리고 크기를 조정 할 때 당신이 그 헤더를 복사합니다 :

jpegOut = new DecodedJpeg(
    new ImageResizer(jpegIn.Image) 
     .Resize(320, ResamplingFilters.NearestNeighbor), 
    jpegIn.MetaHeaders); // Retain EXIF details 

다시 컴파일하고 갈 수 있어야한다 당신이해야 할 모든 라인 (212)에 추가합니다.

+0

정확히 18 개월 전에 끝난 것입니다. 하지만 그래,이 문제를 저에게 알려 주셔서 감사합니다. 아마 나 자신이 그랬을거야. 감사. –

+0

굉장! 지금 GitHub에서이 라이브러리를 포크하고 내 수정 사항을 병합합니다 (다른 라이브러리가 있음). 바라건대 모든 사람들이 곧 이러한 수정을 통해 도움이되기를 바랍니다. GitHub 포크에는 Nuget 패키지가 있습니다. – Ericvf

관련 문제