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
[41590] Re:Re:Re:Graphic32 Image32 컴포넌트에서...
WARSHIP [warship] 1320 읽음    2005-08-22 16:24
프리지아 님이 쓰신 글 :
: 답변 감사합니다.
: 여태껏 삽질을 하고있었네요..
: WARSHIP님께 황당한 부탁 한가지만 드릴께요 T^T
: 지금 하고자 하는게 지도 이미지를 읽어와서 좌표를 세분화해서 표현하고
: 지도상의 위도,경도를 더욱 세밀하게 라인으로 그어서 다시 저장하는 프로그램을 작성중인데요
: 워낙 프로그램밍에 문외한 상태에서 이것저것 하다보니 이렇게 헤메게 되네요.
: 어떤 이미지를 불러와서 라인을 그어주고.. 그걸 다른파일로 저장하는
: Image32를 이용한 간단한 예제코드를 부탁드립니다.
:

너무 긴 코드가 나오겠네요 ^^;

좌표는 마우스 이벤트를 이용해서 구했다고 치구요.
저같으면 이런식으로 하겠습니다.

class LINE
{
public:
    LINE(TPoint &_sp,TPoint &_ep)
    {
        sp.x=_sp.x;
        sp.y=_sp.y; 
        ep.x=_ep.x;
        ep.y=_ep.y;
    }
    LINE(const &LINE line) : LINE(line.sp,line.ep) {}
    TPoint sp;
    TPoint ep;
} ;

요런 비슷한 클래스를 하나 작성하구
그다음 위의 vector 클래스를 화일로 저장할수 있는 함수 두개를 작성하면 끝나겠네요 ^^;

/* 예로 저장하는것만 나열해 보겠습니다 */
bool SaveLines( vector<LINE> &vec)
{
    FILE *fp = fopen("mapdata.dat","wb");
    if (fp==NULL) return false;
    if (fwrite(&vec[0],sizeof(LINE),vec.size(),fp) != vec.size())
    {
        fclose(fp); return false;
    }
    fclose(fp);
    return true;
}

이런식이 될거 같구요 LoadLines라는 함수는 우선
화일사이즈 검색 및 더욱 섬세한 에러 처리가 필요하겠네요.
아주 기본적인 뼈대만 제시해드렸구요.
다 적어드리기엔 시간도 부족하고 ^^; 그럼 꼭 성공하시길 바랍니다.

+ -

관련 글 리스트
41587 Graphic32 Image32 컴포넌트에서... 프리지아 1021 2005/08/22
41588     Re:Graphic32 Image32 컴포넌트에서... WARSHIP 1071 2005/08/22
41589         Re:Re:Graphic32 Image32 컴포넌트에서... 프리지아 1011 2005/08/22
41590             Re:Re:Re:Graphic32 Image32 컴포넌트에서... WARSHIP 1320 2005/08/22
41608                 Re:Re:Re:Re:Graphic32 Image32 컴포넌트에서... 프리지아 1482 2005/08/23
41609                     Re:Re:Re:Re:Re:Graphic32 Image32 컴포넌트에서... WARSHIP 1019 2005/08/23
41612                         Re:Re:Re:Re:Re:Re:Graphic32 Image32 컴포넌트에서... 프리지아 1047 2005/08/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.