對於gdi畫法:
雲風的部落格上這麼說(
以前做遊戲想用隸書,但是並非每台機器上都裝有這個字型,所以有時候需要給使用者提供乙個。在自己軟體的路徑下放上字型檔案,直接呼叫 createfont 這個 api 是不認的。
這種情況下可以使用 addfontresource ,然後呼叫
postmessage(hwnd_broadcast,wm_fontchange,0,0); 就可以了。
當不用這個字型時再呼叫 removefontresource 卸掉。
bool installfont(void)
; lf.lfcharset = gb2312_charset;
hwnd hdesktop = ::getdesktopwindow();
hdc hdc=::getdc(hdesktop);
enumfontfamilie***(hdc,&lf,(fontenumproc)enumfontproc,0,0);
::releasedc(hdesktop,hdc);
if (!g_bexistfont) //不存在字型 安裝字型
; const long lfontcount = arraysize(aryfontfilename);
cstring strwindowsfontspath = crngetspecialfolder(csidl_fonts);
tchar szsrcpath[max_path] = , szdscpath[max_path] = ;
for (long i = 0; i < lfontcount; ++i)
}} return true;
}
對於gdiplus:
使用privatefontcollection.addfontfile()方法載入字型,然後得到fontfamliy來建立gdi+ font
bool uiplusfont::loadfont(lpctstr lpszfontfilepath, lptstr lpszfontfamilyname, privatefontcollection& pfc)
delete pfontfamily;
pfontfamily = null;
if(_tcscmp(lpszfontfamilyname, zlt("微軟雅黑")) != 0)
return false;
else
return true;
}
uiplusfont::ref_type uiplusfont::create(long lsize,long lfontstyle,lpctstr lpname)
; coverttolocalfontname(logfont.lffacename,lpname);
fontfamily fontfamily(logfont.lffacename);
font* pfont = new font(&fontfamily,(gdiplus::real)lsize,lfontstyle,unitpixel);
if (pfont->getlaststatus()!=ok)
; privatefontcollection pfc;
tchar szfamilyname[32] = ;
loadfont(szfontfilepath, szfamilyname, pfc);
pfont = new font(szfamilyname,(gdiplus::real)lsize,lfontstyle,unitpixel, &pfc);
if(pfont->getlaststatus()!=ok)
}uiplusfont::ref_type preffont=uiplusfont::create(pfont);
g_uiplusfontcache.insert(std::pair(logfont,preffont));
return preffont;
}
如何高效載入bitmap
對於如何高效載入bitmap,就是採用bitmapfactory.options來載入所需的大小。通過bitmapfactory.options來對進行縮放,主要利用其insamplesize引數,即取樣率。獲取取樣率的步驟一般如下 1 將bitmapfactory.options的injustde...
AssetBundle的如何載入
assets apk assets streamingassets 這個資料夾 在 手機平台 一般是唯讀的,不可寫,安卓打包到上麥呢的資料夾 persisten 這個路徑,可讀可寫,程式第一次載入的時候會把 streamingassets 資料夾下面的東西寫入這裡 流程 1,先把打的包從硬碟load...
Linux如何載入U盤
linux如何載入u盤 一 初次使用redhat 8.6版本,在載入u盤的時候遇到以下情況 1.不知道虛擬機器上的linux作業系統有沒有識別到u盤 2.如何將u盤掛載到系統上 3.解決中文亂碼的問題 二 解決方法如下 1.先執行fdisk l命令,檢視當前系統裡的硬碟情況 2.將u盤插入,再執行f...