2011-08-22 50 views
0

我正在嘗試編寫一個通用例程,該例程將使用變量而不是文字字體名稱來設置字體。使用變量在CGBitmapContext.SelectFont中設置字體

CGBitmapContext.SelectFont(fontName, fontSize, CGTextEncoding.MacRoman); 

代替:

CGBitmapContext.SelectFont("Arial", fontSize, CGTextEncoding.MacRoman); 

但似乎沒有工作。任何建議將不勝感激。

感謝, 裏克

+0

這有點令人驚訝。你能提供一個小的測試用例,這樣我們可以複製它嗎?謝謝 – poupou

+0

context.SelectFont(iconStyle.topTextFont,iconStyle.topTextFontSize,CGTextEncoding.MacRoman); - 不起作用。我必須使用「Arial」而不是topTextFont變量,它被設置爲「Arial」... – Rick

回答

0

請張貼一個更完整的示例,下面的代碼工作對我來說:

context.SetFillColor (0.0f, 1.0f); 
context.SelectFont ("Arial", 28, CGTextEncoding.MacRoman); 
context.ShowTextAtPoint (pageRect.GetMidX(), pageRect.GetMidY(), "Hello Select Font (string)"); 
string font = "Arial"; 
context.SelectFont (font, 28, CGTextEncoding.MacRoman); 
context.ShowTextAtPoint (pageRect.GetMidX(), pageRect.GetMidY() + 40, "Hello Select Font (var)"); 

兩條線採用宋體,如果我切換他們(第一次使用var它仍然有效)。

+0

你沒有在上下文中使用變量'font'.SelectFont調用... – Rick

+0

呵呵?不是在第一個SelectFont調用(第2行)中進行比較,但我在第二個調用(第5行)中使用了'font'變量(在第4行定義)。兩個結果在視覺上都是相同的 - 除了當然在裏面的文字()。 – poupou