GDI 繪製圓角矩形

2021-07-26 21:03:14 字數 1574 閱讀 7276

繪製圓角矩形

pen* p = new pen(c, (real)nsize);

// 畫矩形上面的邊

graphics.drawline(p,rc.left + width / 2, rc.top, rc.right - width / 2, rc.top);

//畫矩形下面的邊

graphics.drawline(p,rc.left + width / 2, rc.bottom,rc.right - width / 2,rc.bottom);

//畫矩形左面的邊

graphics.drawline(p,rc.left, rc.top + height / 2, rc.left, rc.bottom - height / 2);

//畫矩形右面的邊

graphics.drawline(p,rc.right, rc.top + height / 2, rc.right, rc.bottom - height / 2);

//畫矩形左上角的圓角

graphics.drawarc(p,rc.left, rc.top, width, height, 180, 90);

//畫矩形右下角的圓角

graphics.drawarc(p,rc.right- width, rc.bottom - height, width, height, 360, 90);

//畫矩形右上角的圓角

graphics.drawarc(p,rc.right - width, rc.top, width, height, 270, 90);

//畫矩形左下角的圓角

graphics.drawarc(p,rc.left, rc.bottom - height, width, height, 90, 90);

delete p;

填充圓角矩形,其中width和height為圓角的大小

brush* b = new solidbrush(c);

graphics.fillrectangle(b,rc.left,rc.top+height,rc.right - rc.left,rc.bottom - rc.top - height*2);

graphics.fillrectangle(b,rc.left+width,rc.top,rc.right - rc.left-width*2,rc.bottom - rc.top);

graphics.fillpie(b,rc.left,rc.top,width*2+2,height*2+2,180,90);

graphics.fillpie(b,rc.right-(width*2+2),rc.bottom-(height*2+2),width*2+2,height*2+2,360,90);

graphics.fillpie(b,rc.right-(width*2+2),rc.top,(width*2+2),(height*2+2),270,90);

graphics.fillpie(b,rc.left,rc.bottom-(width*2+2),(width*2+2),(height*2+2),90,90);



GDI 中的圓角矩形

gdi 是對gdi的乙個令人興奮的擴充套件,但由於某些原因,它沒有提供繪製圓角矩形的函式,雖然我們可以在gdi 中使用gdi中的函式,但這樣一來我們沒辦法在圓角矩形中使用gdi 中的紋理和透明色等新特性。怎麼辦?gdi 中有乙個graphicspath 的類,我們可以用它構造各種形狀並且可用任何畫刷...

GDI 中的圓角矩形

翻譯 李昊 原文出處 http www.codeproject.com 源 gdiplusroundedrect gdi 是對gdi的乙個令人興奮的擴充套件,但由於某些原因,它沒有提供繪製圓角矩形的函式,雖然我們可以在gdi 中使用gdi中的函式,但這樣一來我們沒辦法在圓角矩形中使用gdi 中的紋理...

繪製圓角矩形(方法 )

c gdi 繪製圓角矩形 graphics 物件 rectangle 物件,圓角矩形區域 邊框顏色 邊框寬度 圓角半徑 public static void drawroundrectangle graphics g,rectangle rectangle,color bordercolor,flo...