1. 程式人生 > >如何知道某字串的象素寬度和高度?

如何知道某字串的象素寬度和高度?

在MFC下執行此函式,
AAAA,BBBB情況下與抓圖比較,差異比較大,CCCC最接近,可能繪圖最好


void CCoolTabCtrl::GetTextSize(LPCTSTR lpszText, int nCount, CSize &size)
{
 size.cx = 0;
 size.cy = 0;
 /*AAAA*********************************************
 /*CString ss("Customized Split Size (0.00 MB)");
 CClientDC dc(this);
 int nSave = dc.SaveDC();
 CFont font;  
 font.CreateStockObject(SYSTEM_FONT);  
 LOGFONT lf;  
 memset(&lf,   0,   sizeof(LOGFONT));  
 font.GetLogFont(&lf);  
 lf.lfWidth = 6;
 lf.lfHeight = 8;
 strcpy(lf.lfFaceName, "宋體");
 dc.SelectObject(font);
 size = dc.GetTextExtent( lpszText, nCount );

 CRect rc(0,0,0,0);
 dc.DrawText(ss, &rc, DT_CALCRECT);
 CSize s = dc.GetTextExtent("Customized Split Size (0.00 MB)");
 CSize c;
 GetTextExtentPoint32(dc,"Customized Split Size (0.00 MB)",31, &c);
 dc.RestoreDC(nSave);
//寬度:0xd1
 */

 /*BBBB*********************************************
 HDC   hdc=::GetDC(*this);  
 TEXTMETRIC tm;  

 LPCTSTR szString = "Customized Split Size (0.00 MB)";
 ::GetTextMetrics(hdc,&tm);  
 ::GetTextExtentPoint32(hdc, szString, lstrlen(szString),&size);  
 int   cx=size.cx;//寬度  
 int   cy=tm.tmHeight+tm.tmExternalLeading;//高度 
寬度:0xd1
 */
 
 /*CCCC*********************************************/
 CClientDC dc(this);
 NONCLIENTMETRICS ncm;
 ncm.cbSize = sizeof(NONCLIENTMETRICS);
 SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0);

 CRect rc(0,0,0,0);
 CFont font;
 font.CreateFontIndirect(&ncm.lfMessageFont);
 // 將字型選進DC
 CFont* pOldFont = dc.SelectObject(&font);
 // 計算文字大小
 CString str("Customized Split Size (0.00 MB)");
 dc.DrawText(str, rc, DT_CALCRECT);
 // 回覆舊字型-這是必須的
 dc.SelectObject(pOldFont);
// 寬度:0x96 與抓圖下的象素值最接近
}

相關推薦

如何知道字串象素寬度高度

在MFC下執行此函式,AAAA,BBBB情況下與抓圖比較,差異比較大,CCCC最接近,可能繪圖最好 void CCoolTabCtrl::GetTextSize(LPCTSTR lpszText, int nCount, CSize &size){ size.cx =

計算出當前繪製出來的字串寬度高度

寬度: 方法1:Paint paint= new Paint(); Rect rect = new Rect();//返回包圍整個字串的最小的一個Rect區域paint.getTextBounds(str, 0, 1, rect); strwid = rect.width

CODEVS 1501二叉樹最大寬度高度

它的 logs nbsp 二叉 ace 最小寬度 最大 -h blog 題目描述 Description 給出一個二叉樹,輸出它的最大寬度和高度。 輸入描述 Input Description 第一行一個整數n。 下面n行每行有兩個數,對於第i行的兩個數

JS獲取屏幕的寬度高度

邊線 spa top offset nbsp log off document color <html> <script>   function a(){     document.write(     "屏幕分辨率為:"+screen.width

jsjquery如何獲取圖片真實的寬度高度_javascript技巧

寬高 clas 獲取 deb 問題 網頁 log css www. 在做pc網頁的時候,有時候會考慮按照插入的圖片的尺寸來判斷圖片是橫圖還是豎圖。然後判斷過後給予不同的展示方式! 另外一種就是在手機頁面上,在新聞頁插入的圖片往往都是按照圖片的原尺寸來展示,如果手機屏幕太小,

JavaPOI設置Excel單元格的寬度高度

mvc sco .html adb cvs docs sm3 shuf a10 uq1m1u杖刳苯嗆逼日http://docstore.docin.com/gde52315jdyl昂抗掌冶闌錘http://jz.docin.com/dqgis813189o011z殘豢忍縷仁

瀏覽器寬度高度的說明

工作區 eve post off mage 技術 title www. gpo IE中: document.body.clientWidth ==> BODY對象寬度 document.body.clientHeight ==> BODY對象高度 docume

18.2.14 codevs1501 二叉樹最大寬度高度

isp 連接 左右 ron esp color 整數 end codevs 題目描述 Description 給出一個二叉樹,輸出它的最大寬度和高度。 輸入描述 Input Description 第一行一個整數n。 下面n行每行有兩

2018.3.26 1501 二叉樹最大寬度高度

一個空格 post 12px 一行 個數 padding pac ide urn 題目描述 給出一個二叉樹,輸出它的最大寬度和高度。 輸入描述 第一行一個整數n。下面n行每行有兩個數,對於第i行的兩個數,代表編號為i的節點所連接的兩個左右兒子的編號。如果沒有某個兒子

Js 中一系列寬度高度的學習

頁面 chrome html5 影響 float 20px 我們 一個 完全   在學習元素一系列寬度和高度之前,我們先來看一個平時開發中幾乎不會遇到的問題,那就是html文檔聲明<!DOCTYPE html> 確實會對元素的寬高產生影響。幾乎不會遇到,是因為我

JS,Jquery獲取各種屏幕的寬度高度

fun 寬度 屏幕分辨率 高度 add IE outer 屏幕 rip Javascript: 網頁可見區域寬: document.body.clientWidth 網頁可見區域高: document.body.clientHeight 網頁可見區域寬: document.

js、jq獲取屏幕的寬度高度

scrollto adding scroll jquery java add query bsp javascrip Javascript: 網頁可見區域寬: document.body.clientWidth 網頁可見區域高: document.body.client

獲取網頁瀏覽器視窗的寬度高度

情況一: // 獲取瀏覽器視窗可視區域的寬度 不包含滾動條 var width=document.body.clientWidth; // 獲取網頁內容的實際高度 var height=document.body.clientHeight; console.log(width,height

獲取圖片實際渲染的寬度高度與圖片原始的寬度高度

  在寫頁面時經常會遇到需要獲取圖片的寬度、高度等情況。然而以前總是獲取的是圖片實際渲染的寬度和高度,也就是你用css或js設定後的圖片的寬度和高度,並不是圖片原始的尺寸。今天突然遇到這個問題,一時之間不知如何做,查了下資料,自己摸索了一下。特此總結一下。   例如。有這樣一張圖片,程式碼如下:  

react native獲取螢幕的寬度高度

var Dimensions = require('Dimensions'); var {width,height} = Dimensions.get("window");//第一種寫法 var width1 = Dimensions.get('window').width//第二種寫法 expor

Android 獲取 螢幕寬度高度——獲取文字高度寬度

獲得螢幕寬度和高度 //直接在子元件中 1、WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVI

Android獲得螢幕寬度高度

//直接在子元件中 1、WindowManager wm = (WindowManager) getContext()                     .getSystemService(Context.WINDOW_SERVICE);        //目前版本已經

不確定元素寬度高度時實現居中

一、在元素高度、寬度已知時,實現水平垂直居中就很簡單了 1 .position_all{ 2 width: 600px; 3 height: 400px; 4 position: absolute; 5 top: 50%; 6 left: 50%; 7 margin

Apache POI 設定Excel單元格的寬度高度

原博作者:Tony Qu 原博連結 在Excel中,單元格的寬度其實就是列的寬度,因為Excel假設這一列的單元格的寬度肯定一致。所以要設定單元格的寬度,我們就得從列的寬度下手,HSSFSheet有個方法叫SetColumnWidth,共有兩個引數:一個是列的索引(從0開始),一個是

關於span標籤的寬度高度設定

正常情況下我們設定span標籤是無法設定span標籤的寬度和高度的。那麼怎樣才能設定呢。個人感覺意義並不大,如果需要可以使用div。 span是有display:inline-block和float屬性的,只要設定了這兩個屬性,就會認為它是一個塊級元素。 下面是例子: &l