本文整理匯總了C#中System.Drawing.Pen.GetNativeObject方法的典型用法代碼示例。如果您正苦於以下問題:C# Pen.GetNativeObject方法的具體用法?C# Pen.GetNativeObject怎麽用?C# Pen.GetNativeObject使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Drawing.Pen
的用法示例。
在下文中一共展示了Pen.GetNativeObject方法的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);
}
}
}