C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[69485] (자답) Re:Image 폼 관련 질문이 있습니다~! 고수님들 조언좀 부탁드립니다 !!
이소룡 [sakura2361] 1688 읽음    2013-05-14 12:24
어리석었군요... 해결 했습니다.


int StartNumber = StrToInt(StartNumEdit->Text);
int EndNumber = StrToInt(EndNumEdit->Text);
int ResultHeightSize = LineCam_Height * (EndNumber - StartNumber) ;
int minus = EndNumber - StartNumber;

Image2->Height = ResultHeightSize;
Image2->Picture->Bitmap->Width = Image2->Width;
Image2->Picture->Bitmap->Height = ResultHeightSize;

Graphics::TBitmap *openbmp = new Graphics::TBitmap();
unsigned char *buffer = new unsigned char[2048*480*minus];

loop1=0;
    for ( int j = StartNumber; j < EndNumber; j++)
    {

        openbmp->LoadFromFile("C:\\Users\\park\\Desktop\\ELMA\\ELMA-100 1.1.1\\ChulImage\\" + IntToStr(j) + ".bmp");


        for(int y=0; y<480; y++)
        {
              unsigned char *pBitmap1 = (unsigned char *)openbmp->ScanLine[y];
             for (int x = 0; x< 2048; x++)
            {
                     buffer[loop1] = pBitmap1[x];
                    loop1++;
            }
       }

    }

    loop1=0;
    for(int y=0; y<480 * minus; y++)
    {
    unsigned char *pBitmap1 = (unsigned char *)Image2->Picture->Bitmap->ScanLine[y];

             for (int x = 0; x< 2048; x++)
            {
                     pBitmap1[0] = buffer[loop1];
                            pBitmap1++;
                    loop1++;
            }
        }

  delete openbmp;
  delete buffer;




아주 기초적인 알고리즘인데... 참으로 어리석었네요 ㅠㅠ
혹시 모를 저같은 분이 계실수도 있어서 자답을 남깁니다.
이외에도 TMemoryStream *Imagebuffer = new TMemoryStream(); 을 이용해서  Readbuffer() 를 사용해서 배열에 넣는 방법도 있네요




이소룡 님이 쓰신 글 :
:
: * 첨부파일은 프로그램 실행 화면 입니다. 마지막 사진만 업로드 되네요 ㅠㅠ
:
: 제가 이미지를 PC 에 저장후 이미지를 Load 하려고하는데요 한장씩은 Load가 잘 되는데
:
: 문제는 이미지를 총 10장을 Load 한다고 가정하면 0번 이미지 부터 10번 이미지 까지 총 10장을 세로로 나열 하여 Load 하고싶습니다.
:
: 너무 두서없는 글이네요... 요약을 해보자면
:
: 1. 2048 * 480 사이즈의 저장된 이미지가 있음.
:
: 2. 10장을 Load 하여 이미지 폼에 띄우고 싶음.
:
: 3. 1장 Load하면 사이즈는 2048 * 480 크기의 이미지가 Load 되고 10장 로드하면 2048 * 4800 의 이미지가 세로로 10장일 쭉 붙여서
: Load 하고 싶음.
:
: 고수님들의 조언좀 부탁드립니다.
:
: 이미지 로드 소스 부분 입니다.
:
:
:     static int i=0;
:     int StartNumber = StrToInt(StartNumEdit->Text);
:     int EndNumber = StrToInt(EndNumEdit->Text);
:     int ResultHeightSize = LineCam_Height * (EndNumber - StartNumber) ;
:
:     Image1->Visible=false;
:     Image2->Visible=true;
:     ScrollBox1->Visible=true;
:
:     Image2->Picture->Bitmap->Width = Image2->Width;
:     Image2->Picture->Bitmap->Height = ResultHeightSize;
:
:     for ( int j = StartNumber; j < EndNumber+1; j++)
:     {
:         i++;
:         Image2->Picture->Bitmap->Height = LineCam_Height * i;
:         Image2->Picture->Bitmap->LoadFromFile("C:\\Users\\park\\Desktop\\ELMA\\ELMA-100 1.1.1\\ChulImage\\" + IntToStr(j) + ".bmp");
:
:     }
:     i=0;
:
:

+ -

관련 글 리스트
69482 Image 폼 관련 질문이 있습니다~! 고수님들 조언좀 부탁드립니다 !! 이소룡 1463 2013/05/13
69485     (자답) Re:Image 폼 관련 질문이 있습니다~! 고수님들 조언좀 부탁드립니다 !! 이소룡 1688 2013/05/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.