|
캔버스 객체를 새로고침하니 되네여...
image->Bitmap->Canvas->Refresh();
Pearl 님이 쓰신 글 :
: 그래픽라이브러리32를 이용하여 이미지 제작을 하고있습니다.
: 헌데 이상한 현상이 발생하네여..
: 바탕이미지를 불러와 그위에 폴리곤을 그리고 원을 그리는 로직입니다.
: 바탕이미지는 매번 새로 불러와서 드로잉을 합니다. 헌데 이상한 점은 원을 그리면 최초 한번은
: 정상적으로 그립니다. 그런데 그 뒤로는 펜속성 및 브러쉬 속성이 적용되지 않은채 원의 외곽선만 드로잉되네여..
: 코드상 문제는 없어보이는데 뭐가 문제인지...
:
: /*
: * 이미지 생성
: */
: int createIMG()
: {
: int j = 10;
: image->Bitmap->Clear();
: image->Bitmap->LoadFromFile(IMG1);
:
: TPolygon32 *polygon = new TPolygon32;
: polygon->Antialiased = true;
: polygon->AntialiasMode = am32times;
:
: // 폴리곤 포인트 얻기
: polygon->Add(FixedPoint(10,10));
: polygon->DrawFill(image->Bitmap, SetAlpha(color, 500));
:
: image->Bitmap->Changed();
: image->Refresh();
: polygon->Closed;
: free(polygon);
:
: // 원 그리기
: image->Bitmap->Canvas->Pen->Style = psSolid;
: image->Bitmap->Canvas->Pen->Width = 2;
: image->Bitmap->Canvas->Pen->Color = clGreen;
:
: image->Bitmap->Canvas->Brush->Style = bsClear;
: image->Bitmap->Canvas->Brush->Color = clWhite;
: image->Bitmap->Canvas->Ellipse(321-j, 178-j, 321+j, 178+j);
: }
: /*
: * 이미지 생성 주기 쓰레드
: */
: void imgThread(void* v)
: {
: time_t wNow;
: time_t wPre;
: int wPeriod = 10;
:
: wPre = 0;
: wPre = time(NULL);
:
: while(true)
: {
: wNow = time(NULL);
: if(wNow - wPre >= wPeriod)
: {
: // 10초 주기로 이미지생성 실행
: if(createIMG() < 0) break;
: wPre = wNow;
: }
: Sleep(10);
: }
: }
|