本文整理汇总了C#中SharpDX.FillRectangle方法的典型用法代码示例。如果您正苦于以下问题:C# SharpDX.FillRectangle方法的具体用法?C# SharpDX.FillRectangle怎么用?C# SharpDX.FillRectangle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SharpDX
的用法示例。
在下文中一共展示了SharpDX.FillRectangle方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: _drawDesktopOutline
private void _drawDesktopOutline( SharpDX.Direct2D1.DeviceContext d2dContext)
{
//BORDER
d2dContext.Transform = Matrix.Translation(_globalTranslation) * Matrix.Scaling(_globalScale);
d2dContext.DrawRectangle(
_layoutDeviceScreenSize,
_generalLightGrayColor,
3
);
//WIDTH
d2dContext.Transform = Matrix.Translation(_globalTranslation) * Matrix.Scaling(_globalScale);
d2dContext.FillRectangle(
new RectangleF(0, -30, 100, 30),
_generalLightGrayColor
);
d2dContext.Transform = Matrix.Translation(10, 0, 0) * Matrix.Translation(_globalTranslation) * Matrix.Scaling(_globalScale);
d2dContext.DrawText(_layoutDetail.Width.ToString(), _generalTextFormat, new RectangleF(0, -30, 100, 30), _generalLightWhiteColor);
////HEIGHT
double angleRadians = 90 * Math.PI / 180; //90 degrees
d2dContext.Transform = Matrix.RotationZ((float)angleRadians) * Matrix.Identity * Matrix.Translation(_globalTranslation) * Matrix.Scaling(_globalScale);
d2dContext.FillRectangle(
new RectangleF(0, 0, 100, 30),
_generalLightGrayColor
);
d2dContext.Transform = Matrix.RotationZ((float)angleRadians) * Matrix.Translation(0, 10, 0) * Matrix.Translation(_globalTranslation) * Matrix.Scaling(_globalScale);
d2dContext.DrawText(_layoutDetail.Height.ToString(), _generalTextFormat, new RectangleF(0, 0, 100, 30), _generalLightWhiteColor);
}
示例2: Render
internal static void Render(CompositionEngine compositionEngine, SharpDX.Direct2D1.RenderTarget renderTarget, FrameworkElement rootElement, Rectangle rectangle)
{
var rect = rectangle.GetBoundingRect(rootElement).ToSharpDX();
var fill = rectangle.Fill.ToSharpDX(renderTarget, rect);
var stroke = rectangle.Stroke.ToSharpDX(renderTarget, rect);
//var layer = new Layer(renderTarget);
//var layerParameters = new LayerParameters();
//layerParameters.ContentBounds = rect;
//renderTarget.PushLayer(ref layerParameters, layer);
if (rectangle.RadiusX > 0 &&
rectangle.RadiusY > 0)
{
var roundedRect = new SharpDX.Direct2D1.RoundedRect();
roundedRect.Rect = rect;
roundedRect.RadiusX = (float)rectangle.RadiusX;
roundedRect.RadiusY = (float)rectangle.RadiusY;
if (rectangle.StrokeThickness > 0 &&
stroke != null)
{
var halfThickness = (float)(rectangle.StrokeThickness * 0.5);
roundedRect.Rect = rect.Eroded(halfThickness);
if (fill != null)
{
renderTarget.FillRoundedRectangle(roundedRect, fill);
}
renderTarget.DrawRoundedRectangle(
roundedRect,
stroke,
(float)rectangle.StrokeThickness,
rectangle.GetStrokeStyle(compositionEngine.D2DFactory));
}
else
{
renderTarget.FillRoundedRectangle(roundedRect, fill);
}
}
else
{
if (rectangle.StrokeThickness > 0 &&
stroke != null)
{
var halfThickness = (float)(rectangle.StrokeThickness * 0.5);
if (fill != null)
{
renderTarget.FillRectangle(rect.Eroded(halfThickness), fill);
}
var strokeRect = rect.Eroded(halfThickness);
renderTarget.DrawRectangle(
strokeRect,
stroke,
(float)rectangle.StrokeThickness,
rectangle.GetStrokeStyle(compositionEngine.D2DFactory));
}
else
{
renderTarget.FillRectangle(rect, fill);
}
}
//renderTarget.PopLayer();
}
示例3: Render
internal static async Task Render(CompositionEngine compositionEngine, SharpDX.Direct2D1.RenderTarget renderTarget, FrameworkElement rootElement, Rectangle rectangle)
{
var rect = rectangle.GetBoundingRect(rootElement).ToSharpDX();
var fill = await rectangle.Fill.ToSharpDX(renderTarget, rect);
var stroke = await rectangle.Stroke.ToSharpDX(renderTarget, rect);
try
{
var layer = rectangle.CreateAndPushLayerIfNecessary(renderTarget, rootElement);
if (rectangle.RadiusX > 0 &&
rectangle.RadiusY > 0)
{
var roundedRect = new SharpDX.Direct2D1.RoundedRectangle();
roundedRect.Rect = rect;
roundedRect.RadiusX = (float)rectangle.RadiusX;
roundedRect.RadiusY = (float)rectangle.RadiusY;
if (rectangle.StrokeThickness > 0 &&
stroke != null)
{
var halfThickness = (float)(rectangle.StrokeThickness * 0.5);
roundedRect.Rect = rect.Eroded(halfThickness);
if (fill != null)
{
renderTarget.FillRoundedRectangle(roundedRect, fill);
}
renderTarget.DrawRoundedRectangle(
roundedRect,
stroke,
(float)rectangle.StrokeThickness,
rectangle.GetStrokeStyle(compositionEngine.D2DFactory));
}
else
{
renderTarget.FillRoundedRectangle(roundedRect, fill);
}
}
else
{
if (rectangle.StrokeThickness > 0 &&
stroke != null)
{
var halfThickness = (float)(rectangle.StrokeThickness * 0.5);
if (fill != null)
{
renderTarget.FillRectangle(rect.Eroded(halfThickness), fill);
}
var strokeRect = rect.Eroded(halfThickness);
renderTarget.DrawRectangle(
strokeRect,
stroke,
(float)rectangle.StrokeThickness,
rectangle.GetStrokeStyle(compositionEngine.D2DFactory));
}
else
{
renderTarget.FillRectangle(rect, fill);
}
}
if (layer != null)
{
renderTarget.PopLayer();
layer.Dispose();
}
}
finally
{
if (fill != null)
fill.Dispose();
if (stroke != null)
stroke.Dispose();
}
}