本文整理汇总了C#中Font.Freeze方法的典型用法代码示例。如果您正苦于以下问题:C# Font.Freeze方法的具体用法?C# Font.Freeze怎么用?C# Font.Freeze使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Font
的用法示例。
在下文中一共展示了Font.Freeze方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateFrozen
/// <summary>Creates a frozen <see cref="Paint"/> instance from the given parameters.</summary>
public static Font CreateFrozen(string typefaceName, double fontSize, FontWeight fontWeight) {
var font = new Font(typefaceName, fontSize);
font.Weight = fontWeight;
font.Freeze();
return font;
}
示例2: MeasureOverride
/// <summary/>
protected override Size MeasureOverride(Size constraint) {
var desiredSize = new Size();
_labelGlyphs = null;
if (ShowLabels && LabelTexts != null && LabelTexts.Length > 0) {
var labelFont = new Font(new Typeface(LabelFontFamily, FontStyles.Normal, LabelFontWeight, FontStretches.Normal), LabelFontSize);
labelFont.Freeze();
var G = _labelGlyphs = new TextGlyph[LabelTexts.Length];
for (var i = 0; i < LabelTexts.Length; i++) {
G[i] = new TextGlyph(LabelTexts[i], labelFont);
desiredSize.Width = Math.Max(desiredSize.Width, G[i].Width);
desiredSize.Height = Math.Max(desiredSize.Height, G[i].Height);
}
if (_isHorizontal) {
desiredSize.Height += LabelPadding;
} else {
desiredSize.Width += LabelPadding;
}
}
return desiredSize;
}
示例3: ConvertFrom
/// <summary/>
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) {
if (value == null) {
throw new ArgumentNullException("value");
}
var fontString = value as string;
if (fontString.IsEmpty()) {
return base.ConvertFrom(context, culture, value);
}
if (fontString.StartsWith("@") && fontString.IndexOf(",") < 0 && ResourceProvider != null) {
return ResourceProvider.GetResource<Font>(fontString);
}
var fontFamily = Font.DefaultFamily;
var fontSize = Font.DefaultSize;
var fontWeight = Font.DefaultWeight;
var fontStyle = Font.DefaultStyle;
var fontStretch = Font.DefaultStretch;
var parts = fontString.Trim().Split(_reComma);
var nparts = parts.Length;
if (nparts == 0) return null;
if (nparts > 5) {
throw new InvalidCastException();
}
for (var i = 0; i < nparts; i++) {
parts[i] = parts[i].RemoveAll(new Regex(@"\,"));
}
if (nparts >= 1 && parts[0].NotEmpty()) {
fontFamily = _parseFontFamily(context, culture, parts[0]);
}
if (nparts >= 2 && parts[1].NotEmpty()) {
fontSize = Double.Parse(parts[1]);
}
if (nparts >= 3 && parts[2].NotEmpty()) {
var converter = new FontWeightConverter();
fontWeight = _parseFontWeight(context, culture, parts[2]);
}
if (nparts >= 4 && parts[3].NotEmpty()) {
var converter = new FontStyleConverter();
fontStyle = _parseFontStyle(context, culture, parts[3]);
}
if (nparts >= 5 && parts[4].NotEmpty()) {
fontStretch = _parseFontStretch(context, culture, parts[4]);
}
var face = new Typeface(fontFamily, fontStyle, fontWeight, fontStretch);
var font = new Font(face, fontSize);
font.Freeze();
return font;
}