很高深的一段代码
oyzm 2002-08-01 04:13:02 本人想用一个图片为背景画一个圆,当图片尺寸小于圆时,出现严重的锯齿代码如下,哪位高手帮我解决用图片为背景画图的问题???
TRect rect;
HRGN hRgn0, hRgn1, hRgn2;
ImgPhoto->Picture->LoadFromFile("c:\\test.bmp");
//test.bmp尺寸如果很小就有锯齿
rect=Rect(0,0,SImage->Width,SImage->Height);
hRgn0 = CreateRectRgn(0, 0, ImgPhoto->Picture->Width, ImgPhoto->Picture->Height);
hRgn1 = CreateEllipticRgn(0, 0,ImgPhoto->Picture->Width,ImgPhoto->Picture->Height);
CombineRgn(hRgn0, hRgn0, hRgn1, RGN_XOR);
CombineRgn(hRgn0, hRgn0, hRgn2, RGN_XOR);
SelectObject(ImgPhoto->Picture->Bitmap->Canvas->Handle, hRgn0);
ImgPhoto->Canvas->Rectangle(-1, -1, ImgPhoto->Picture->Width+1, ImgPhoto->Picture->Height+1);
DeleteObject(hRgn0); DeleteObject(hRgn1);