간단한 예제는 없나요?
이미지 변환을 할려니 눈앞이 캄캄해지는 군요....
저는 아직 초보랍니다. ㅠ.ㅠ
유영인 [Chris] 님이 쓰신 글 :
: avi로 다 만드신 다음에, 녹화가 끝나면 나중에 압축을 하시는건 어떠세요? 압축하는 프로그램들도 데이터를 다 보고 인코딩 시켜야 하기 때문에, 압축을 하면서 녹화를 하는 방식은 찾아보기 힘듭니다. 있다고 해도.. 이론상 압축률이 상당히 떨어지겠지요.
:
: 동영상을 만들어서 다른 pc로 전송하시는 건가요? 만약 그렇다고 한다면, 특정 동영상이 코덱이 아닌, 화면을 뿌려준후, 변경되는 부분만 처리해주는 방식이 훨씬 빠르게 먹힐 수 있습니다.
:
:
: 김동욱 님이 쓰신 글 :
: : 자상하게 답변해 주시니 정말 감사합니다.
: :
: : 실은 간단한 동영상을 위해서 jpg그림을 겹쳐서 저장하려고 했는데.......
: :
: : 동작은 잘되긴하지만 너무 허접이라 ....^^;;
: :
: : 혹시 동영상만드는 방법을 아시는 고수님 있으면 가르쳐주세요.
: :
: : avi는 파일 크기에서 문제가 있을것 같고 영상을 저장 할때는 아무래도 압축 저장을
: :
: : 해야하지 않을까요?
: :
: : 유영인 [Chris] 님이 쓰신 글 :
: : : 단순히, 파일 사이즈와 팔레트를 원하신다면, 다음과 같은 방법은 어떠신가요..?
: : :
: : :
: : : 1) 파일 사이즈
: : : 파일 크기는 빌더의 fseek의 도움말의 example 을 보시면 filesize 를 구할 수 있는 방법이 나와 있습니다. API도 있고요. 편하신것으로 사용하시면 될 것 같네요. 해당 JPEG 파일의 크기를 알면 되겠지요.
: : :
: : :
: : : 2) 팔레트
: : : 기본적으로 JPEG는 GetPalette라는 메소드를 가지고 있습니다. 아래는 그 GetPalette의 소스입니다. 델파이 입니다.
: : :
: : : function TJPEGImage.GetPalette: HPalette;
: : : var
: : : DC: HDC;
: : : begin
: : : Result := 0;
: : : if FBitmap <> nil then
: : : Result := FBitmap.Palette
: : : else if FTempPal <> 0 then
: : : Result := FTempPal
: : : else if FPixelFormat = jf24Bit then // check for 8 bit screen
: : : begin
: : : DC := GetDC(0);
: : : if (GetDeviceCaps(DC, BITSPIXEL) * GetDeviceCaps(DC, PLANES)) <= 8
: : : then
: : : begin
: : : // next line is bug fix - re:
: : : borland.public.delphi.vcl.components
: : : // Steven Trefethen 21 Aug 1997
: : : if FTempPal <> 0 then DeleteObject(FTempPal);
: : : FTempPal := CreateHalftonePalette(DC);
: : : Result := FTempPal;
: : : end;
: : : ReleaseDC(0, DC);
: : : end;
: : : end;
: : :
: : :
: : :
: : : 이곳으로 가시면, 더욱 깊이있는 정보를 얻으실 수 있습니다.
: : :
: : :
http://www.wotsit.org/
: : :
: : :
: : :
: : : 김동욱 님이 쓰신 글 :
: : : : 답변 감사합니다.
: : : :
: : : : 파일 크기나 팔레트등의 정보는 어떻게 알 수 있나요?
: : : :
: : : : FFC000까지의 데이터는 무었인가 궁금하네요?
: : : :
: : : : 이런 자료는 어떻게 찾나요?
: : : :
: : : : ??????
: : : :
: : : : 요즘 저의 무식함이 더욱 돋보이는것 같군요.
: : : :
: : : : 오늘 하루도 건강하시고 즐거운 하루되세요.
: : : :
: : : : 유영인 [Chris] 님이 쓰신 글 :
: : : : : Jpeg는 헤더를 알아낸다 하더라도, Bitmap과 같이 손쉬운 처리를 할 수 없습니다. 양자화 및 마커, 허프만 기법등을 사용하여 데이터를 손실, 혹은 복구하여야 합니다. 아무튼 Jpeg에도 헤더는 있습니다. FFC000 다음부터 시작하는 코드가 Header 입니다.
: : : : :
: : : : : unsigned short Height; // Height
: : : : : unsigned short Width; // Width
: : : : : unsigned char Number; // 헤더 갯수. 이 숫자만큼 아래 정보가 반복됩니다.
: : : : :
: : : : : unsigned char ID[3]; // 헤더 이름.
: : : : : unsigned char H[3]; // 가로 연산 인자
: : : : : unsigned char V[3]; // 세로 연산 인자
: : : : : unsigned char dTable[3]; // 양자화 테이블 번호
: : : : :
: : : : : Jpeg가 가지고 있는 테이블 정보만 약 5개 정도가 됩니다. 이 것들을 전부 알아야 디코딩이 가능하며, 단순히 헤더 정보만 원하실때는, 헤더정보에서 필요하신 부분만 따로 빼내는 식으로 코딩하시는 것이 더 빠른 작업을 하실 수 있을 것 같네요.
: : : : :
: : : : :
: : : : : 김동욱 님이 쓰신 글 :
: : : : : : TJPEGImage에는 BITMAPINFO와 같은 헤더가 없나요?
: : : : : :
: : : : : : 엄청 궁금한데 설명된곳이 없네요.
: : : : : :
: : : : : : 아시는 분있으면 가르쳐 주세요.
: : : : : :
: : : : : : 즐거운 하루 되세요.