在矩形框中水平或垂直顯示多行文字

2021-09-30 06:42:37 字數 1480 閱讀 7978

//// 編寫:

//     徐景周([email protected])

//// 引數:

//       pdc: 繪製dc

////  szstring: 繪製的字串

////    lprect: 繪製的矩形範圍

////     lmode: 排列方式,0:水平方式; 1:垂直方式 

////     lhori: 水平對齊方式, 0:左對齊; 1:居中; 2:右對齊; 3:自定義

////     lvert: 垂直對齊方式, 0:頂對齊; 1:居中; 2:底對齊; 3:自定義

///crect drawtitleinrect(cdc *pdc, cstring szstring, lprect lprect, long lmode, long lhori, long lvert)

//大於0xa1的位元組為漢字位元組

if((unsigned char)szstring.getat(i) >= 0xa1)

halfchinese++;

thelinelength++;

//如果行寬大於每行最大寬度,進行特殊處理

if(thelinelength > nmaxlinechar)

else

thelinelength = 0;

halfchinese=0;}}

if(lmode==0)        //水平排列

if(lmode==1)        //垂直排列

//重新計算矩形邊界範圍

pdc->drawtext(szstring, rcinner,dt_wordbreak|dt_left|dt_calcrect);

switch(lhori)

break;

case 2:

break;

default:

break;

}switch(lvert)

break;

case 2:

break;

default:

break;

}if(rcinner.bottom < lprect->bottom)

rcinner.bottom = lprect->bottom;

if(rcinner.top > lprect->top)

rcinner.top = lprect->top;

if(lhori==0)

pdc->drawtext(szstring, rcinner, dt_wordbreak|dt_left);

else if(lhori==1)

pdc->drawtext(szstring, rcinner, dt_wordbreak|dt_center);

else if(lhori==2)

pdc->drawtext(szstring, rcinner, dt_wordbreak|dt_right);

return rcinner;

}

在Matlab環境下標定矩形框

很多時候我們需要在影象中標定矩形框,比如視覺跟蹤領域經常需要標定跟蹤目標的groundtruth.我們為此在matlab環境下編寫了如下程式,很好地實現了這個功能。clear clctitle xx 待標定影象所在的資料夾名稱 route 該資料夾的路徑 imgfile dir route,titl...

OpenCV中繪製外圍矩形框和圓框

利用邊界尋找函式找到的邊界座標資訊。然後利用每一條尋找到的邊際資訊去找到圖形的矩形邊界和圓形邊界。根據已知的邊界資訊點。將邊界資訊傳入提供的api函式得到該邊界的矩形框。api rect boundingrect mat 輸入點集 下面是具體的使用方法 void rec int,void out p...

如何讓元素在父元素中水平或垂直居中

行內元素 text align center line height height 塊級元素 1.給父元素設定display flex 並且設定 align items centerjustify content center 2.給父元素乙個定位屬性,子元素使用絕對定位,並且使用配合屬性left ...