C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[1011] IdHTTPServer1 웹서버에서 이미지 넣기
박영목.월천 [gsbsoft] 9254 읽음    2010-10-08 03:02
webserver_login.png 30.6KB 웹서버로 로그인 암호 1234
webserver_result.png 30.4KB 웹서버에서 결과 받음
webserver_example.png 36.4KB 부산역 음악분수 원격제어
WebServerTest.zip 365.6KB 소스, 실행파일
login.gif 193B 로그인 이미지
꾸벅... 안냥하세요... 월천입니다.   ㅋㅋㅋ   한 동안 잠시 잠시 왔다가기만 해서..

웬지 쑥---스럽습니다... 

이것 저번에 질문을 올렸는 데... 답변이 없더군요..

그래서 한 동안 잊고 있다가 한달 전인가? 자료를 찾아 두고... 해봐야지 했는 데...  깜박하고...

오늘 새벽에 C++Builder 6.0에서 TEST해 보았습니다.  잘 되는 군요...  예제 만들고 하는 데..

시간이 제법 갔습니다.  혹 또 찾으시는 분 있을까? 싶어 올려 둡니다.

알고나면 별것 아닌데... ㅋㅋㅋ 

자 그러면 모두 잘 주무시고....  다음에.....    

    AnsiString asFile = LFilename.SubString( 8, 100 );

    TGIFImage *gif = new TGIFImage();
    gif->LoadFromFile( "d:\\" + asFile );                                       //경로는 자신들의 상황에 맞게 수정하면 되고 나는 리소스에 넣고 사용할련다..

    TMemoryStream *msLogin = new TMemoryStream();

    //Graphics::TBitmap *bmp = new Graphics::TBitmap();                         //이 부분 델파이 소스 보면... Try ~ Except ~ Finally 사용하네요.. 뭐 특별히 없어도 될 것 같은 데...
    //bmp->LoadFromFile( "d:\\logout.bmp" );                                    //http://borland.newsgroups.archived.at/public.delphi.internet.winsock/200504/0504051721.html
    //bmp->SaveToStream(msLogin);                                               //http://www.delphigroups.info/2/7/207714.html

    gif->SaveToStream(msLogin);

    msLogin->Seek( 0, soFromBeginning );

    AResponseInfo->RawHeaders->Clear();
    AResponseInfo->RawHeaders->Add( "Cache-Control: no-store, no-cache, must-revalidate" );
    AResponseInfo->RawHeaders->Add( "Cache-Control: post-check=0, pre-check=0" );
    AResponseInfo->RawHeaders->Add( "Pragma: no-cache" );
    AResponseInfo->ResponseNo = 200;
    AResponseInfo->ContentType = "image/gif";                                   //image/bmp

    AResponseInfo->FreeContentStream = true;

    AResponseInfo->ContentStream = msLogin;

    delete gif;
박지훈.임프 [cbuilder]   2010-10-08 12:54 X
와우~ 전에 말씀하셨던 거 구현하신 거군요~ ^^
박영목.월천 [gsbsoft]   2010-10-08 19:06 X
ㅋㅋㅋ  박부장님 때문에 잘 끝났습니다. 꽤 되었는 데... 그런데 이미지를 자신의 PC에서 가져오는 방법을 몰라....
이제 알았네요...  웹이라 스마트폰에서도 접속되고 해서... 제법 활용도가 높습니다. 간단히 스케줄 걸고 끄고 원하는 공연 실행시키고... 안정적이고...  이 방법으로 많이 사용할 것 같습니다. DB를 거칠 필용업
박영목.월천 [gsbsoft]   2010-10-08 19:09 X
필요없고... 결과값도 바로 오고... 단점은 HTML로 내부를 구현해야 한다는 것...  웹이라 순수 응용보다 접근이 아주 매끄럽지 않지만,,,  나름대로 충분한 가치가 있어 보입니다...  그럼... 다음에....
박영목.월천 [gsbsoft]   2010-10-09 18:08 X
리소스에서 이미지를 불러와서 전송할 경우....  뭐   간단하지만... 그래도 또 안보면 힘드실 분이 있지 않을까... 하여...
소스를 보고 바꾸시면 됩니다...

  *.rc에서 아래와 비슷하게 하고....

   ID_GIF_LOGIN              RCDATA  ".\Image\gif\login.gif"

  *.rh에서 아래와 비슷하게 하고....

  #define   ID_GIF_LOGIN     9999



:
:
    AnsiString asFile = LFilename.SubString( 8, 100 );

    TResourceStream *ResStream=NULL;

    TMemoryStream *msLogin = new TMemoryStream();

    try
    {
      ResStream = new TResourceStream( (int)HInstance, ID_GIF_SCHEDULE, RT_RCDATA );
      msLogin->LoadFromStream( dynamic_cast<TStream*>( ResStream ) );
    }
    __finally
    {
      delete ResStream;
    }

    msLogin->Seek( 0, soFromBeginning );
:
:
김모씨 [testcode]   2010-10-13 17:09 X
오~

+ -

관련 글 리스트
1011 IdHTTPServer1 웹서버에서 이미지 넣기 박영목.월천 9254 2010/10/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.