|
그래픽라이브러리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);
}
}
|