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
[69593] Image에 그리고 난 후 검은색으로 초기화되어버립니다.
프뉴마 [pneuma] 1651 읽음    2013-06-04 15:21
CScan_Bitmap = new Graphics::TBitmap();

	CScan_Bitmap->Height = TmpNum*2;
	CScan_Bitmap->Width = ScanPts*2;

	ImagePK->Width = ScanPts*2;
	ImagePK->Height = TmpNum*2;

	ImagePK->Bitmap->Width = ScanPts*2; //ScanPts*2;
	ImagePK->Bitmap->Height = TmpNum*2;

	MyRect = Rect(0, 0, ScanPts*2, TmpNum*2);

	double colorVal = 0;

	short *TmpPk_DB = new short[Points*ScanPts];

	short *peakAbsVal = new short[ScanPts];



	for(k=0; k < TmpNum; k++)
	{

		AnsiString	fileName = "D:\\111\\222_Ch2_part" + IntToStr(k) + ".tmp";


		TFileStream *TmpOpen = new TFileStream(fileName.c_str(), fmOpenRead);

		TmpOpen->Seek(HeadData, soFromBeginning);


		memset(TmpPk_DB, 0, sizeof(short)*Points*ScanPts);


		TmpOpen->Read(TmpPk_DB, sizeof(short)*Points*ScanPts);

		delete TmpOpen;




		for(i=0; i  4096)
				TmpPk_DB[i] = 4096;

			TmpPk_DB[i] = TmpPk_DB[i]-2048;
		}


		memset(peakAbsVal, -2048, sizeof(short)*ScanPts);




		for(j= 0; j < ScanPts; j++)
		{

			for(i=500; i peakAbsVal[j])
				{
					peakAbsVal[j] = TmpPk_DB[(j*Points)+i];
				}
			}
		}



		for(i = 0 ; i < ScanPts; i++)
		{
			colorVal = 256*peakAbsVal[i]/2048.0;

			for(int j=k*2 ; j < (k+1)*2; j++)
				CScan_Bitmap->Canvas->Pixels[i][j] = colorJet[(int)colorVal];
				//ImagePK->Canvas->Pixels[i][j] = colorJet[(int)colorVal];

		 }

	}

	ImagePK->Canvas->CopyRect(MyRect, CScan_Bitmap->Canvas, MyRect);


	delete [] peakAbsVal;
	peakAbsVal = NULL;

	delete [] TmpPk_DB;
	TmpPk_DB = NULL;


소스입니다. 이렇게 해서 데이터를 bitmap에 그린후 bitmap에 그려진 이미지를 copyrect 하는건데요.
주석처리해놓은 픽셀찍는걸 먼저했다가 제 사수께서 bitmap에 부분별로 그린 후 다 그려진걸 이미지로 옮기라 하셔서
바꾼겁니다.

문제는 버튼 클릭하면 이미지를 그리고는 곧바로 검은색 배경으로 바뀝니다. 초기화해버리는게 아닌가 싶긴한데...
formclose에도 다른 부분을 작성한 적은 없는데...이상합니다.

2번째 클릭하면 이미지가 제대로 나옵니다. 탭 안에 그려넣었는데 탭을 변경했다 돌아오면 다시 이미지는 초기화...

이유를 알려주세요 ;ㅁ;

+ -

관련 글 리스트
69593 Image에 그리고 난 후 검은색으로 초기화되어버립니다. 프뉴마 1651 2013/06/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.