Graphics.PageScale 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置此 Graphics 的世界单位和页单位之间的比例。
public:
property float PageScale { float get(); void set(float value); };
public float PageScale { get; set; }
member this.PageScale : single with get, set
Public Property PageScale As Single
属性值
此属性指定此 Graphics 的世界单位和页单位之间的比例值。
示例
下面的代码示例演示如何在绘制矩形时使用 PageScale 和 TranslateTransform 成员更改比例和原点。
此示例旨在与 Windows 窗体 一起使用。 将代码粘贴到窗体中,并在处理窗体的 Paint 事件时调用 ChangePageScaleAndTranslateTransform
方法,作为 e
PaintEventArgs传递。
private:
void ChangePageScaleAndTranslateTransform( PaintEventArgs^ e )
{
// Create a rectangle.
Rectangle rectangle1 = Rectangle(20,20,50,100);
// Draw its outline.
e->Graphics->DrawRectangle( Pens::SlateBlue, rectangle1 );
// Change the page scale.
e->Graphics->PageScale = 2.0F;
// Call TranslateTransform to change the origin of the
// Graphics object.
e->Graphics->TranslateTransform( 10.0F, 10.0F );
// Draw the rectangle again.
e->Graphics->DrawRectangle( Pens::Tomato, rectangle1 );
// Set the page scale and origin back to their original values.
e->Graphics->PageScale = 1.0F;
e->Graphics->ResetTransform();
SolidBrush^ transparentBrush = gcnew SolidBrush( Color::FromArgb( 50, Color::Yellow ) );
// Create a new rectangle with the coordinates you expect
// after setting PageScale and calling TranslateTransform:
// x = (10 + 20) * 2
// y = (10 + 20) * 2
// Width = 50 * 2
// Length = 100 * 2
Rectangle newRectangle = Rectangle(60,60,100,200);
// Fill in the rectangle with a semi-transparent color.
e->Graphics->FillRectangle( transparentBrush, newRectangle );
}
private void ChangePageScaleAndTranslateTransform(PaintEventArgs e)
{
// Create a rectangle.
Rectangle rectangle1 = new Rectangle(20, 20, 50, 100);
// Draw its outline.
e.Graphics.DrawRectangle(Pens.SlateBlue, rectangle1);
// Change the page scale.
e.Graphics.PageScale = 2.0F;
// Call TranslateTransform to change the origin of the
// Graphics object.
e.Graphics.TranslateTransform(10.0F, 10.0F);
// Draw the rectangle again.
e.Graphics.DrawRectangle(Pens.Tomato, rectangle1);
// Set the page scale and origin back to their original values.
e.Graphics.PageScale = 1.0F;
e.Graphics.ResetTransform();
SolidBrush transparentBrush = new SolidBrush(Color.FromArgb(50,
Color.Yellow));
// Create a new rectangle with the coordinates you expect
// after setting PageScale and calling TranslateTransform:
// x = (10 + 20) * 2
// y = (10 + 20) * 2
// Width = 50 * 2
// Length = 100 * 2
Rectangle newRectangle = new Rectangle(60, 60, 100, 200);
// Fill in the rectangle with a semi-transparent color.
e.Graphics.FillRectangle(transparentBrush, newRectangle);
}
Private Sub ChangePageScaleAndTranslateTransform(ByVal e As _
PaintEventArgs)
' Create a rectangle.
Dim rectangle1 As New Rectangle(20, 20, 50, 100)
' Draw its outline.
e.Graphics.DrawRectangle(Pens.SlateBlue, rectangle1)
' Change the page scale.
e.Graphics.PageScale = 2.0F
' Call TranslateTransform to change the origin of the
' Graphics object.
e.Graphics.TranslateTransform(10.0F, 10.0F)
' Draw the rectangle again.
e.Graphics.DrawRectangle(Pens.Tomato, rectangle1)
' Set the page scale and origin back to their original values.
e.Graphics.PageScale = 1.0F
e.Graphics.ResetTransform()
Dim transparentBrush As New SolidBrush(Color.FromArgb(50, Color.Yellow))
' Create a new rectangle with the coordinates you expect
' after setting PageScale and calling TranslateTransform:
' x = (10 + 20) * 2
' y = (10 + 20) * 2
' Width = 50 * 2
' Length = 100 * 2
Dim newRectangle As Rectangle = New Rectangle(60, 60, 100, 200)
' Fill in the rectangle with a semi-transparent color.
e.Graphics.FillRectangle(transparentBrush, newRectangle)
End Sub