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
[47573] 이 프로그램을 컴파일 하기위해?
이희성 [] 987 읽음    2006-12-27 23:13
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "raw_to_bmp.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn_openClick(TObject *Sender)
{
    if(OpenDialog1->Execute())
    {
        fname = OpenDialog1->FileName;

        Raw_File_Read();
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn_transClick(TObject *Sender)
{
    int i;
   
    BITMAPFILEHEADER bmfh;
    BITMAPINFOHEADER bmih;
    RGBQUAD bmp_pal[COLOR];
   
    //BITMAPFILEHEADER 설정
    bmih.biSize=sizeof(BITMAPINFOHEADER);
    bmih.biWidth=WIDTH;
    bmih.biHeight=HEIGHT;
    bmih.biPlanes=1;
    bmih.biBitCount=8;
    bmih.biCompression=BI_RGB;
    bmih.biSizeImage=WIDTH*HEIGHT;
    bmih.biXPelsPerMeter=0;
    bmih.biYPelsPerMeter=0;
    bmih.biClrUsed=COLOR;
    bmih.biClrImportant=0;

    //BITMAPINFOHEADER 설정
    bmfh.bfType=BMP_FILE_NAME;

    bmfh.bfSize=sizeof(BITMAPFILEHEADER)+((COLOR)*sizeof(RGBQUAD))+sizeof(BITMAPINFOHEADER)
                +bmih.biSizeImage -2;
    bmfh.bfReserved1=0;
    bmfh.bfReserved2=0;
    bmfh.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)
        +(COLOR*sizeof(RGBQUAD))-2;

    //PALETTE 설정
    for(i=0;i<COLOR;i++)           //8bit-> 256 monochrome 설정
    {
        bmp_pal[i].rgbRed=i;
        bmp_pal[i].rgbGreen=i;
        bmp_pal[i].rgbBlue=i;
        bmp_pal[i].rgbReserved=0;
    }

    Raw_to_Bmp(bmfh,bmih,bmp_pal);

    int     pos = fname.Pos(".");
    AnsiString ffname = fname.Delete(pos ,4);
    ffname.Insert(".bmp",pos);

    Image1->Picture->LoadFromFile("data96.bmp");
}
//---------------------------------------------------------------------------



// general function
//---------------------------------------------------------------------------
void TForm1::Raw_File_Read(void)
{
    FILE    *in;
    int     i,j;

    if((in = fopen(fname.c_str(),"rb"))==NULL) return;

    for(i=HEIGHT-1;i>=0;i--)
    {
        for(j=0;j<WIDTH;j++)
            Bmp_buffer[i][j]=fgetc(in);
    }

    fclose(in);
}
//---------------------------------------------------------------------------
void TForm1::Raw_to_Bmp(BITMAPFILEHEADER Bmfh, BITMAPINFOHEADER Bmih, RGBQUAD Bmp_pal[COLOR])
{
    FILE    *out;
    int     pos = fname.Pos(".");
    AnsiString ffname = fname.Delete(pos ,4);
    ffname.Insert(".bmp",pos);

    if((out=fopen(ffname.c_str(),"wb")) == NULL) return;

    //fwrite(&Bmfh,sizeof(BITMAPFILEHEADER)-2,1,out);
    fwrite(&Bmfh.bfType,2,1,out);
    fwrite(&Bmfh.bfSize,4,1,out);
    fwrite(&Bmfh.bfReserved1,2,1,out);
    fwrite(&Bmfh.bfReserved2,2,1,out);
    fwrite(&Bmfh.bfOffBits,4,1,out);

    fwrite(&Bmih,sizeof(BITMAPINFOHEADER),1,out);

    fwrite(Bmp_pal,sizeof(RGBQUAD),COLOR,out);
    fwrite(Bmp_buffer,sizeof(BYTE),HEIGHT*WIDTH,out);

    fclose(out);
}
//---------------------------------------------------------------------------

이프로그램을 컴파일하기 위해 필요한 컴포넌트가 있는지요 ? 그래픽 컴포넌트 입니까? 아무리 c++빌더에서 구조체
정의부분이 나와있지를 않습니다...혹여 기본프로그램에 어떤 컴포넌트며 설정을 어떻게 하는지
아시는분 있으십니까?
답변부탁드립니다.. 위에 소스는 진수네모님 소스입니다...제가 프로젝트를 다시 열어 다시 해봐두 안되네요
에러인 즉슨.. 첨부파일에 적절한 값이 존재하지 않는다네요 ? invalid property value... 어케 해야 되나요?

+ -

관련 글 리스트
47573 이 프로그램을 컴파일 하기위해? 이희성 987 2006/12/27
47577     Re:이 프로그램을 컴파일 하기위해? 외랑 1054 2006/12/28
47581         Re:Re:이 프로그램을 컴파일 하기위해? 이희성 904 2006/12/28
47582             Re:Re:Re:이 프로그램을 컴파일 하기위해? 외랑 929 2006/12/28
47584                 자꾸 죄송합니다.. 이희성 908 2006/12/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.