프레임 버퍼에 있는 16bit rgb 를 jpeg 로 변환하려고 합니다. libjpeg 를 써야 할 것으로 생각되는데 이쪽은 해 본 적이 없어서 어디서 부터 해야 할지 잘 모르겠습니다. 혹시 비슷한 일을 해 주는 c 소스나 사이트 부탁 드립니다.
libgd 소스를 보시거나 libgd 를 쓰세요.
-- 오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~ 나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
24bit rgb로 변환한 다음, 라이브러리에서 제공하는 함수를 쓰면 될 것 같은데요.
제대로 굴러갈런지는 모르겠습니다만 대충 이런 느낌(?)으로 만드시면 될듯 합니다 =33
FILE *fp = fopen("xxx.jpg", "w"); struct jpeg_compress_struct cinfo; struct error_handler_data jerr; cinfo.err = jpeg_std_error(&jerr.pub); jpeg_create_compress(&cinfo); jpeg_stdio_dest(&cinfo, fp); cinfo.image_width = width; cinfo.image_height = height; cinfo.input_components = 3; cinfo.in_color_space = JCS_RGB; jpeg_set_defaults(&cinfo); int quality = 80; jpeg_set_quality(&cinfo, quality, TRUE); jpeg_start_compress(&cinfo, TRUE); JSAMPROW lines[16]; uint8_t * pixdata[width * 16 * 3]; int y = 0; uint8_t * src = (uint8_t *)srcbuf /* 24bit rgb buffer */ while (y < height) { int i; for (i=0;i<16 && y < height; i++, y++) { uint8_t *p = pixdata + i *width *3; lines[i] = p; int x; for (x=0; x<width; x++) { *p++ = *src++; *p++ = *src++; *p++ = *src++; src++; } jpeg_write_scanlines(&cinfo, lines, i); } jpeg_finish_compress(&cinfo); jpeg_destroy_compress(&cinfo); fclose(fp);
---- Do not feed troll!
---- 데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
libjpeg에 포함된 cjpeg 소스 파일을 보세요.
====================== BLOG : http://superkkt.com
도움 주셔서 감사합니다.
알려 주신 내용을 바탕으로 시작해 보겠습니다.
======================== 조직 : E.L.D(Embedded Linux Developer/Designer) 블로그 : poplinux@tistory.com 카페 : cafe.naver.com/poplinux
임베디드 리눅스 관련 프리렌서 지향
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
libgd 소스를 보시거나
libgd 소스를 보시거나 libgd 를 쓰세요.
--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
24bit rgb로 변환한
24bit rgb로 변환한 다음, 라이브러리에서 제공하는 함수를 쓰면 될 것 같은데요.
제대로 굴러갈런지는 모르겠습니다만 대충 이런 느낌(?)으로 만드시면 될듯 합니다 =33
----
Do not feed troll!
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
libjpeg에 포함된 cjpeg
libjpeg에 포함된 cjpeg 소스 파일을 보세요.
======================
BLOG : http://superkkt.com
======================
BLOG : http://superkkt.com
도움 주셔서
도움 주셔서 감사합니다.
알려 주신 내용을 바탕으로 시작해 보겠습니다.
========================
조직 : E.L.D(Embedded Linux Developer/Designer)
블로그 : poplinux@tistory.com
카페 : cafe.naver.com/poplinux
임베디드 리눅스 관련 프리렌서 지향
댓글 달기