本文整理汇总了C#中System.Drawing.MultiplyTransform方法的典型用法代码示例。如果您正苦于以下问题:C# Drawing.MultiplyTransform方法的具体用法?C# Drawing.MultiplyTransform怎么用?C# Drawing.MultiplyTransform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Drawing
的用法示例。
在下文中一共展示了Drawing.MultiplyTransform方法的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.");
}