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
[8638] Graphics32에 대해 질문 있습니다.
정미 [] 1008 읽음    2001-06-30 09:56
여기에 올라와있는 Graphics32를 빌더5에 설치했거든요.
예제중에 Rotate를 C로 바꿔서 빌더에서 컴파일했는데 실행시 Transform에서 에러가 나거든요.
소스는 아래와 같습니다.(예제랑 똑같음)
뭐가 잘 못됐는지 모르겠어요. 아시는 분 도와주시면 감사하겠습니다.

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Dst->Bitmap->SetSize(Src->Bitmap->Width,Src->Bitmap->Height);
  SetBorderTransparent(Src->Bitmap, Classes::Rect(0, 0, Src->Bitmap->Width - 1,
  Src->Bitmap->Height - 1));
  ScaleRot(0);
}


void __fastcall TForm1::ScaleRot(Single Angle)
{
  int SrcR;
  int SrcB;
  TAffineTransformation *T;
  Single Sx,Sy,Scale;

  SrcR=Src->Bitmap->Width-1;
  SrcB=Src->Bitmap->Height-1;
  T=new TAffineTransformation;

  T->SrcRect=FloatRect(0,0,SrcR+1,SrcB+1);
  try{
    T->Clear();
    T->Translate(-SrcR/2,-SrcB/2);
    T->Rotate(0,0,Angle);
    Angle=Angle*3.14159265358979 / 180;

    Sx=abs(SrcR*cos(Angle))+abs(SrcB*sin(Angle));
    Sy=abs(SrcR*sin(Angle))+abs(SrcB*cos(Angle));

    Sx=Src->Bitmap->Width/Sx;
    Sy=Src->Bitmap->Height/Sy;
    Scale=min(Sx,Sy);

    T->Scale(Scale,Scale);
    T->Translate(SrcR/2,SrcB/2);
    Dst->BeginUpdate();
    Dst->Bitmap->Clear(clWhite32);
   
    //???여기서 에러가 난다.
    Transform(Dst->Bitmap, Src->Bitmap,T);
   

    Dst->EndUpdate();
    Dst->Repaint();

  }
  catch(...){
    ShowMessage("오류입니다.");
  }
  delete T;
}

+ -

관련 글 리스트
8638 Graphics32에 대해 질문 있습니다. 정미 1008 2001/06/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.