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
[37401] [질문] bmp를 raw 로 변환하기, 아래코드에서 에러 ...
곽성주 [] 2013 읽음    2004-09-24 09:23
아마도 동적 어레이를 안써서 억세스 에러가 나는것 같은데요 ..

어찌해 주어야 할까요? 속도는 중요하지 않아서 pixel 을 썼습니다.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Bmp2Raw("c:\\g512x512.bmp", "c:\\zzz.raw");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Bmp2Raw(WideString Bmp_name, WideString Raw_name)
{
        TFileStream *fs;
        long glength;

        fs = new TFileStream(Raw_name, fmCreate);

  Graphics::TBitmap *pBitmap = new Graphics::TBitmap();

  Byte *ptr;
  Byte *gray;
  try
  {
  pBitmap->LoadFromFile(Bmp_name);
  glength=(pBitmap->Width+1)*(pBitmap->Height+1);
    long k=0;
    for (int y = 0; y < 100; y++)
    {
      for (int x = 0; x < pBitmap->Width; x++)
      {
        k+=1;
        gray[k]=(Byte)(0.3*GetRValue(pBitmap->Canvas->Pixels[x][y])+\
        0.6*GetGValue(pBitmap->Canvas->Pixels[x][y])+\
        0.1*GetBValue(pBitmap->Canvas->Pixels[x][y]));

      } //for
    } // for

    fs->Write(gray, glength);
  } // try
  catch (...)
  {
    ShowMessage("Could not load or alter bitmap");
  }
  delete pBitmap;
  ShowMessage("OK");

  delete gray;
  delete fs;

+ -

관련 글 리스트
37401 [질문] bmp를 raw 로 변환하기, 아래코드에서 에러 ... 곽성주 2013 2004/09/24
37405     Re:[질문] bmp를 raw 로 변환하기, 아래코드에서 에러 ... 김태선 1676 2004/09/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.