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
[61529] 답변감사합니다^^
공부중 [lcw1984] 789 읽음    2010-06-14 12:04
째즈토끼 님이 쓰신 글 :
: 음.. PWordArray 라는 것도 있네요,,,
: 이름만으로도 쫌 복잡한듯...
:
: 그냥
:
: WORD *pbmp;
: ...
: : pbmp =(WORD *)h_Bitmap->ScanLine[py];
: ...
: pbmp[px] = s_Buff[j]; (백설표 없음)
:
: 이렇게 하면 되지않을까 싶습니다.
:
:
: 공부중 님이 쓰신 글 :
: : void __fastcall TForm2::BitmapToBuff( Graphics::TBitmap *d_Bitmap, unsigned char *d_Buff )
: : {
: : unsigned char *tBuff;
: : int pos;
: : for(int y = 0; y < m_iTextHeight; y++)
: : {
: : tBuff = (unsigned char *) d_Bitmap->ScanLine[y];
: : pos =  m_iTextWidth * 4 * y;
: : memcpy(d_Buff+pos,tBuff ,((m_iTextWidth)*4));
: : }
: :
: : }
: :
: : Word __fastcall TForm2::TORGB(byte blue, byte green , byte red)
: : {
: : return((blue>>3)<<10) | ((green>>3)<<5) | (red>>3);
: : }
: :
: : void __fastcall TForm2::Button1Click(TObject *Sender)
: : {
: : int a = m_iTextWidth * 4 * m_iTextHeight;
: : unsigned char *d_Buff = new unsigned char[a];
: :
: : Graphics::TBitmap *s_Bitmap = new Graphics::TBitmap();
: : Word *s_Buff = new Word[a];
: :
: : if(OpenDialog1->Execute() == true)
: : {
: : s_Bitmap->LoadFromFile(OpenDialog1->FileName);
: : }
: :
: : BitmapToBuff(s_Bitmap,d_Buff);
: :
: : Graphics::TBitmap *c_Bitmap = new Graphics::TBitmap();
: :  int k = 0;
: : for(int i = 0;i <a-3; i+=4)
: : {
: : s_Buff[k] = TORGB(d_Buff[i],d_Buff[i+1],d_Buff[i+2]);
: : Memo1->Lines->Add(s_Buff[k]);
: : k++;
: : }
: : Graphics::TBitmap *h_Bitmap = new Graphics::TBitmap();
: : long int px,py;
: : PWordArray pbmp;
: : h_Bitmap->Width = m_iTextWidth;
: : h_Bitmap->Height = m_iTextHeight;
: : h_Bitmap->PixelFormat = pf15bit;
: : int j = 0;
: : for(int py = 0; py < m_iTextHeight ;py++);
: : {
: : pbmp =(PWordArray)h_Bitmap->ScanLine[py];
: :
: : for(px =0; px < m_iTextWidth;px++)
: : {
: :  *pbmp[px] = s_Buff[j];<- 이부분에서 메모리 오류가 납니다
: :  j++;
: : }
: : }
: : 0번째는 들어가지는데 1 부터 메모리 오류가 나네요 메모리 오류가 안나게 바꾸려면 어떻해 해야 하나요?

+ -

관련 글 리스트
61508 메모리오류가 나는대요 소스를 봐두 고칠방법이 생각이 안납니다 공부중 981 2010/06/11
61509     Re:메모리오류가 나는대요 소스를 봐두 고칠방법이 생각이 안납니다 째즈토끼 1031 2010/06/12
61529         답변감사합니다^^ 공부중 789 2010/06/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.