|
어리석었군요... 해결 했습니다.
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;
:
:
|