2014-03-05 8 views
0

여러 브라우저에서 지원되지 않는 점진적 무손실 JPEG (.jpg, JPEG 2000 또는 JPEG-LS가 아닌)를 만들기 위해서는 exe 파일없이 DLL 또는 .NET 코드가 필요합니다.) .exe 파일을 실행할 수없는 공유 호스팅을 사용하고 있기 때문입니다. 나는 그것을 할 예정이다 freeImage을 사용하고 있지만 무손실 jpeg (나는 진보적 인 하나를 얻었습니다)을 생산하지 않습니다..NET에서 이미지를 프로그레시브 및 무손실로 만들기

이 내 freeImage 코드입니다 :이 FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE 플래그가 이미지 손실을 만들지 만, 그것이 작동하지 않는 해야하는

image = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_JPEG, inputPath, FREE_IMAGE_LOAD_FLAGS.JPEG_ACCURATE) 
FreeImage.Save(FREE_IMAGE_FORMAT.FIF_JPEG, image, outputPath, FREE_IMAGE_SAVE_FLAGS.JPEG_OPTIMIZE Or FREE_IMAGE_SAVE_FLAGS.JPEG_PROGRESSIVE) 

. 내가 뭔가 잘못하고 있는거야?

exe ​​파일을 사용하면 jpegtran을 사용하여 문제를 해결할 수있었습니다. 무손실 프로그레시브 jpeg를 얻으려면 .NET 응용 프로그램이나 웹에서 셸 명령을 실행하기 만하면됩니다.

이 명령을 실행하면 :

jpegtran -copy none -optimize -progressive inputPath.jpg outputPath.jpg 

당신은 진보적 인 손실 jpeg 파일 내가 그것을 사용하고 그것을 작동하지만, 내가 exe 파일없이 할 필요가

를 얻을 수 있습니다.

+0

무중단 jpeg 또는 무손실 압축에서 손실없는 변환을 의미합니까 (입력 파일로 jpeg를 사용하는 것이 나에게 의미가 없음)? – Lev

+0

내가 필요로하는 것은 비 프로그레시브 JPEG 파일을 최적화하여 프로그레시브 방식 (프로그레시브 방식으로로드)과 무손실 방식 (허프만 테이블 최적화 방식)을 최적화하는 것입니다. .exe 파일을 사용하여 여러 라이브러리가 있습니다 : jpegoptim, jpegtrans, libjpeg, ...하지만 exe없이 뭔가가 필요합니다. –

+0

왜 JPEG_OPTIMIZE로 무손실 이미지가 생성 될 것이라고 생각합니까? – svick

답변

1

체크 아웃 LibJpeg.Net : http://bitmiracle.com/libjpeg/ 기본적으로 C#의 IJG 라이브러리입니다. 그것은 꽤 낮은 수준의 lib (그것은 DCT 계수를 가진 바이올린에 있어야합니다) 가장 좋은 방법은 jpegtrans 소스를 얻을 것이고, 그들이 그것을 어떻게하는지보고 LibJpeg.Net (함수는 같은 이름을 가지고 있습니다. ..)

EDIT1 : LibJpeg.Net의 "Classic"API를 사용해야합니다. decopmpressor와 압축기가 필요하지만 이미지를 디코딩하고 인코딩하는 대신 DCT 계수를 전달하고 싶습니다. jpeg_write_coefficientsjpeg_read_coefficients

+0

Bit Miracle LibJpeg.Net을 시도했지만 이미지는 무손실이 아니 었습니다. 당신의 도움을 주셔서 감사합니다. 다시 시도 할게. –

+0

좀 더 자세히 편집 된 답변 :) – Lev

+0

감사합니다. Lev, 최대한 빨리 제안을 시도하겠습니다. ;) –