很多人問我如何顯示漢字,總是乙個乙個地說,很麻煩,特此寫在這裡——
原因:openinventor支援freetype字型,但漢字採用unicode編碼,故而無法直接正確顯示
解決:使用freetype字型,或者,將unicode編碼轉換為freetype可以識別的字型(使用內建的freetype引擎)
本文採用第二種方法。
效果兩個:
1 楷體
2 微軟雅黑 字型
關鍵**:
soseparator *textsep = new soseparator;
textsep->ref();
sofont *fonttype = new sofont;
fonttype->name = "times new roman : italic";
//fonttype->name = "微軟雅黑.ttf";
fonttype->name = "simkai.ttf";
fonttype->size = 30;
textsep->addchild(fonttype);
// chinese text
const wchar_t *str = l"open inventor程式設計從入門到精通";
sotext2 *textprop = new sotext2;
textprop->justification = sotext2::center;
textprop->string.setvalue(str);
textsep->addchild(textprop);
// build up
root->addchild(textsep);
error lnk2019: 無法解析的外部符號 "__declspec(dllimport) public: void __thiscall somfstring::setvalue(unsigned short const *)
這是因為 wchar_t 的問題,解決:
工程屬性 c/c++語言 將……視為內建型別 yes
OpenInventor的節點小結
1 法線自動產生引數 soshapehints creaseangle 當兩個相鄰平面的法向量夾角小於該弧度時,兩個平面共享法向量 否則,分別計算各自的法向量。當該弧度為0時,相鄰平面的交界處變化比較明顯 一般可以設定該值為pi。3 材質繫結 當somaterial提供的顏色資料少於繫結的目標個數時...
Open Inventor練習 檔案讀取
open inventor採用soinput和sodb讀取許多三維格式儲存檔案,如iv等檔案,這個就是檔案讀取的演示例子。define coin dll define sowin dll 載入coin庫檔案 ifdef debug pragma comment lib,sowin1d.lib pra...
輸出中文字元
輸出中文字元 要想在圖形中輸出中文字元,需要對輸出的中文字元進行編碼。使用iconv 函式,可以把一種編碼的字元,轉換為其他編碼的字元。下面介紹在圖形中輸出中文字元的方法,建立乙個新圖形 image imagecreate 400,200 設定背景,分配顏色 bgcolor imagecoloral...