本文整理汇总了C#中System.Drawing.TextureBrush.MultiplyTransform方法的典型用法代码示例。如果您正苦于以下问题:C# TextureBrush.MultiplyTransform方法的具体用法?C# TextureBrush.MultiplyTransform怎么用?C# TextureBrush.MultiplyTransform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Drawing.TextureBrush
的用法示例。
在下文中一共展示了TextureBrush.MultiplyTransform方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetBrush
public TextureBrush GetBrush(Matrix matrix)
{
Bitmap bmp;
if (_context2D != null)
{
bmp = _context2D.GetBitmap();
}
else
{
bmp = new Bitmap(_imagePath);
}
WrapMode wm = WrapMode.Tile;
switch (_repetition)
{
case "repeat":
wm = WrapMode.Tile;
break;
case "no-repeat":
wm = WrapMode.Clamp;
break;
case "repeat-x":
wm = WrapMode.TileFlipX;
break;
case "repeat-y":
wm = WrapMode.TileFlipY;
break;
}
var brush = new TextureBrush(bmp, wm);
brush.MultiplyTransform(matrix);
return brush;
}
示例2: MultiplyTransform_NonInvertible
public void MultiplyTransform_NonInvertible ()
{
TextureBrush t = new TextureBrush (image);
Matrix noninvertible = new Matrix (123, 24, 82, 16, 47, 30);
t.MultiplyTransform (noninvertible);
}
示例3: ToGdiPlus
public static d.Brush ToGdiPlus(this ImageBrush brush, Rect bounds) {
var img = brush.ImageSource;
var bt = new BrushTransform(brush, bounds);
if (bt.DegenerateBrush != null) return bt.DegenerateBrush;
var viewbox = brush.Viewbox;
if (brush.ViewboxUnits == BrushMappingMode.RelativeToBoundingBox)
viewbox.Scale(img.Width, img.Height);
var viewport = brush.Viewport;
if (brush.ViewportUnits == BrushMappingMode.RelativeToBoundingBox)
viewport.Transform(bt.ToAbsolute);
var ia = new di.ImageAttributes();
ia.SetColorMatrix(new di.ColorMatrix { Matrix33 = (float)brush.Opacity });
var b = new d.TextureBrush(img.ToGdiPlus(), viewbox.ToGdiPlus(), ia);
b.WrapMode = brush.TileMode.ToGdiPlus();
b.TranslateTransform((float)viewport.X, (float)viewport.Y);
b.ScaleTransform((float)(viewport.Width/viewbox.Width), (float)(viewport.Height/viewbox.Height));
b.MultiplyTransform(bt.ToBrush.ToGdiPlus(), d2.MatrixOrder.Append);
return b;
}
示例4: MultiplyTransformOrder_Invalid
public void MultiplyTransformOrder_Invalid ()
{
TextureBrush t = new TextureBrush (image);
t.MultiplyTransform (new Matrix (), (MatrixOrder) Int32.MinValue);
}