QT畫直線 粗線和細線長短不一致

2021-09-19 14:28:40 字數 650 閱讀 3930

qt畫直線 粗線和細線長短不一致

原因是畫筆有個筆帽的樣式

筆帽的樣式

所謂筆帽是個很奇怪的東西, 如果搞不好的話, 很容易被迷惑到了. 筆帽會在每繪製每一截線時, 在起點和終點都新增一點點的東西, 而且這一些筆帽的長度是和筆的寬度有關係的. 如圓筆帽會在每截線開頭結尾處新增乙個圓頭.

qt中設定筆帽

qpen pen2;

pen2.setcapstyle(qt::roundcap);

qt::pencapstyle

qt::flatcap – 尾帽是平面的(注: 沒有筆帽)

qt::squarecap – 尾帽是方的

qt::roundcap – 尾帽是圓的

vc中設定筆帽

cpen pen1;

pen1.createpen(ps_userstyle|ps_geometric|ps_endcap_flat, 10, &logbrush,4,dwf);

ps_endcap_round – 尾帽是圓的

ps_endcap_square – 尾帽是方的

ps_endcap_flat – 尾帽是平面的(注: 沒有筆帽)

畫直線演算法

畫直線演算法 前段時間做了一下光柵直線生成演算法的研究,並且在vc下實現了dda 演算法 bresenham 演算法 對稱演算法 兩步演算法 及四步演算法。這裡給個總結,希望和大家交流。主要研究的演算法主要有 dda演算法 bresenham 演算法 對稱演算法 兩步演算法 及四步演算法,此外還對自...

彙編畫直線

line macro x1,y1,x2,y2,color local exit local linezheng,linefun local linezhengzheng,linezhengfun local linefunzheng,linefunfun local line1,line2,line...

YUV資料畫矩形和直線

劃線函式用breshenham演算法,yuv資料格式為 422sp 在yuvsp422資料上畫直線,imgdata是 yuv資料指標,int width,int height,yuv影象大小。startpoint,endpoint 直線量端點,color 顏色。目前直線需要偶數其實位址 unsign...