*[[http://sourceforge.net/projects/ufraw/develop|ufraw]] in sf.net
*[[http://jens.triq.net/thumbnail-spec/index.html|The Thumbnail management specification proposed specification for storing file thumbnails]] from freedesktop.org
*raw image thumbnailer in gconf
/desktop/gnome/thumbnailers/application@x-ufraw/command
/usr/bin/ufraw-batch --embedded-image --out-type=png --size=%s %i --overwrite --silent --output=%o
$ ufraw-batch --embedded-image --out-type=png \
--size=256x256 --output=ufraw_thumb.png IMGP0206.PEF
====== 원인 ======
다음 명령어로 뽑아낸 Exif thumbnail이 변경 전의 사진으로 들어가 있음 :(
exiv2 -e t IMGP0206.jpg
IMGP0206-thumb.jpg 형식으로 추출됨. 크기는 160x160
====== 수정안 ======
김프로 변환 후 저장한 이미지에서 추출시에는
exiv2 -e t IMGP0206_gimp.jpg
196x147 사이즈로 정상 썸네일 생성 확인
====== using git ======
$ mkdir ufraw.git
$ cd ufraw.git
$ git-cvsimport -p x -v -d :pserver:anonymous@ufraw.cvs.sourceforge.net:/cvsroot/ufraw ufraw
....
$ git branch [fuction-to-develope]
....
====== exif thumbnauil fix ======
본래의 코드
ufraw_writer.c
ufraw_exif_prepare_output(uf);
jpeg_write_marker(&cinfo, JPEG_APP0+1, uf->outputExifBuf, uf->outputExifBufLen);
ufraw_write_image_data(uf, &cinfo, &Crop, 8, grayscaleMode, jpeg_row_writer);
...
ufraw 썸네일러에서 사용하는 코드
int ufraw_load_raw(ufraw_data *uf)
...
if (uf->conf->embeddedImage) {
dcraw_image_data thumb;
if ( (status=dcraw_load_thumb(raw, &thumb))!=DCRAW_SUCCESS ) {
ufraw_message(status, raw->message);
return status;
}
uf->thumb.height = thumb.height;
uf->thumb.width = thumb.width;
return ufraw_read_embedded(uf);
}
...