本文整理匯總了C#中System.Drawing.BeginContainer方法的典型用法代碼示例。如果您正苦於以下問題:C# Drawing.BeginContainer方法的具體用法?C# Drawing.BeginContainer怎麽用?C# Drawing.BeginContainer使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Drawing
的用法示例。
在下文中一共展示了Drawing.BeginContainer方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: RenderTo
static void RenderTo(this DrawingGroup drawing, d.Graphics graphics, double opacity) {
var gc = graphics.BeginContainer();
Utility.SetGraphicsQuality(graphics);
if (drawing.Transform != null && !drawing.Transform.Value.IsIdentity)
graphics.MultiplyTransform(drawing.Transform.Value.ToGdiPlus(), d2.MatrixOrder.Prepend);
if (drawing.ClipGeometry != null)
graphics.Clip = new d.Region(drawing.ClipGeometry.ToGdiPlus());
if (!Utility.IsZero(drawing.Opacity - 1) && drawing.Children.Count > 1) {
var intersects = false;
var c = drawing.Children.Count;
var b = new Rect[c];
for(var i = 0; i < c; ++i) b[i] = drawing.Children[i].Bounds;
for(var i = 0; i < c; ++i) {
for(var j = 0; j < c; ++j)
if (i != j && Rect.Intersect(b[i], b[j]) != Rect.Empty) {
intersects = true;
break;
}
if (intersects) break;
}
if (intersects)
Utility.Warning("DrawingGroup.Opacity creates translucency between overlapping children");
}
foreach (Drawing d in drawing.Children) d.RenderTo(graphics, opacity * drawing.Opacity);
graphics.EndContainer(gc);
if (drawing.OpacityMask != null) Utility.Warning("DrawingGroup OpacityMask ignored.");
if (drawing.BitmapEffect != null) Utility.Warning("DrawingGroup BitmapEffect ignored.");
if (drawing.GuidelineSet != null) Utility.Warning("DrawingGroup GuidelineSet ignored.");
}