本文整理汇总了C#中System.Drawing.Pen.GetSquaredTransformedWidth方法的典型用法代码示例。如果您正苦于以下问题:C# Pen.GetSquaredTransformedWidth方法的具体用法?C# Pen.GetSquaredTransformedWidth怎么用?C# Pen.GetSquaredTransformedWidth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Drawing.Pen
的用法示例。
在下文中一共展示了Pen.GetSquaredTransformedWidth方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DrawShape
void DrawShape(Pen pen, awt.Shape shape) {
if (pen == null)
throw new ArgumentNullException("pen");
if (StrokeFactory.CanCreateAdvancedStroke &&
(!pen.CanCreateBasicStroke || !NeedsNormalization)) {
geom.AffineTransform oldT = NativeObject.getTransform();
NativeObject.setTransform(Matrix.IdentityTransform.NativeObject);
try {
geom.AffineTransform t = GetFinalTransform();
if (!oldT.isIdentity()) {
t = (geom.AffineTransform)t.clone();
t.preConcatenate(oldT);
}
double widthsquared = pen.GetSquaredTransformedWidth(t);
bool antiAlias = (SmoothingMode == SmoothingMode.AntiAlias);
bool thin = (widthsquared <= (antiAlias ?
AdvancedStroke.MinPenSizeAASquared :
AdvancedStroke.MinPenSizeSquared));
PenFit penFit = thin ? (antiAlias ? PenFit.ThinAntiAlias : PenFit.Thin) : PenFit.NotThin;
if (NeedsNormalization) {
bool normThin =
widthsquared <= AdvancedStroke.MinPenSizeSquaredNorm;
if (normThin) {
shape = GetNormalizedShape(shape, t);
shape = pen.GetNativeObject(
t, null, penFit).createStrokedShape(shape);
}
else {
shape = pen.GetNativeObject(t, penFit).createStrokedShape(shape);
shape = GetNormalizedShape(shape, null);
}
}
else {
shape = pen.GetNativeObject(t, penFit).createStrokedShape(shape);
}
FillScaledShape(pen.Brush, shape);
}
finally {
NativeObject.setTransform(oldT);
}
}
else {
awt.Stroke oldStroke = NativeObject.getStroke();
NativeObject.setStroke(pen.GetNativeObject(null, PenFit.NotThin));
try {
NativeObject.setPaint(pen.Brush);
geom.AffineTransform oldT = NativeObject.getTransform();
NativeObject.transform(GetFinalTransform());
try {
NativeObject.draw(shape);
}
finally {
NativeObject.setTransform(oldT);
}
}
finally {
NativeObject.setStroke(oldStroke);
}
}
}