本文整理汇总了C#中PdfSharp.Drawing.XGraphics.RotateAtTransform方法的典型用法代码示例。如果您正苦于以下问题:C# XGraphics.RotateAtTransform方法的具体用法?C# XGraphics.RotateAtTransform怎么用?C# XGraphics.RotateAtTransform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PdfSharp.Drawing.XGraphics
的用法示例。
在下文中一共展示了XGraphics.RotateAtTransform方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BeginBox
/// <summary>
/// Draws a sample box.
/// </summary>
public void BeginBox(XGraphics gfx, int number)
{
//obracene XY
gfx.RotateAtTransform(90.0, new XPoint(height / 4, width / 4));
gfx.TranslateTransform(+62, +63);
//const int dEllipse = 15;
XRect rect = new XRect(0, 0, height /2 -2, width/2 -2);
if (number % 2 == 0)
rect.X += height/2 +2;
rect.Y = ((number - 1) / 2) * (-width/2 - 3);
//rect.Inflate(-10, -10);
//XRect rect2 = rect;
XPen pen = new XPen(XColors.Black, 1);
gfx.DrawRectangle(pen, rect.X, rect.Y, rect.Width, rect.Height);
//rect2.Offset(this.borderWidth, this.borderWidth);
//gfx.DrawRoundedRectangle(new XSolidBrush(this.shadowColor), rect2, new XSize(dEllipse + 8, dEllipse + 8));
//XLinearGradientBrush brush = new XLinearGradientBrush(rect, this.backColor, this.backColor2, XLinearGradientMode.Vertical);
//gfx.DrawRoundedRectangle(this.borderPen, brush, rect, new XSize(dEllipse, dEllipse));
//rect.Inflate(-5, -5);
//rect.Inflate(-10, -5);
//rect.Y += 20;
//rect.Height -= 20;
////gfx.DrawRectangle(XPens.Red, rect);
// gfx.TranslateTransform(rect.X, rect.Y);
this.state = gfx.Save();
}
示例2: Render
/// <summary>
/// Renders the OMR code.
/// </summary>
protected internal override void Render(XGraphics gfx, XBrush brush, XFont font, XPoint position)
{
XGraphicsState state = gfx.Save();
switch (this.direction)
{
case CodeDirection.RightToLeft:
gfx.RotateAtTransform(180, position);
break;
case CodeDirection.TopToBottom:
gfx.RotateAtTransform(90, position);
break;
case CodeDirection.BottomToTop:
gfx.RotateAtTransform(-90, position);
break;
}
//XPoint pt = center - this.size / 2;
XPoint pt = position - CodeBase.CalcDistance(AnchorType.TopLeft, this.anchor, this.size);
uint value;
uint.TryParse(this.text, out value);
#if true
// HACK: Project Wallenwein: set LK
value |= 1;
this.synchronizeCode = true;
#endif
if (this.synchronizeCode)
{
XRect rect = new XRect(pt.x, pt.y, this.makerThickness, this.size.height);
gfx.DrawRectangle(brush, rect);
pt.x += 2 * this.makerDistance;
}
for (int idx = 0; idx < 32; idx++)
{
if ((value & 1) == 1)
{
XRect rect = new XRect(pt.x + idx * this.makerDistance, pt.y, this.makerThickness, this.size.height);
gfx.DrawRectangle(brush, rect);
}
value = value >> 1;
}
gfx.Restore(state);
}
示例3: RenderPage
public override void RenderPage(XGraphics gfx)
{
#if true_
// Create a new PDF document
//PdfDocument document = new PdfDocument();
// Create a font
XFont font = new XFont("Verdana", 16);
// Create a new page
//PdfPage page = document.AddPage();
//XGraphics gfx = XGraphics.FromPdfPage(page);
//gfx.DrawString("XPdfForm Sample", font, XBrushes.DarkGray, 15, 25, XStringFormat.Default);
// Step 1: Create an XForm and draw some graphics on it
// Create an empty XForm object with the specified width and height
// A form is bound to its target document when it is created. The reason is that the form can
// share fonts and other objects with its target document.
XForm form = new XForm(gfx, XUnit.FromMillimeter(70), XUnit.FromMillimeter(55));
// Create an XGraphics object for drawing the contents of the form.
XGraphics formGfx = XGraphics.FromForm(form);
// Draw a large transparent rectangle to visualize the area the form occupies
XColor back = XColors.Orange;
back.A = 0.2;
XSolidBrush brush = new XSolidBrush(back);
formGfx.DrawRectangle(brush, -10000, -10000, 20000, 20000);
// On a form you can draw...
//// ... text
//formGfx.DrawString("Text, Graphics, Images, and Forms", new XFont("Verdana", 10, XFontStyle.Regular), XBrushes.Navy, 3, 0, XStringFormat.TopLeft);
//XPen pen = XPens.LightBlue.Clone();
//pen.Width = 2.5;
// ... graphics like Bézier curves
//formGfx.DrawBeziers(pen, XPoint.ParsePoints("30,120 80,20, 100,140 175,33.3"));
//// ... raster images like GIF files
//XGraphicsState state = formGfx.Save();
//formGfx.RotateAtTransform(17, new XPoint(30, 30));
//formGfx.DrawImage(XImage.FromFile("../../../../XGraphicsLab/images/Test.gif"), 20, 20);
//formGfx.Restore(state);
//// ... and forms like XPdfForm objects
//state = formGfx.Save();
//formGfx.RotateAtTransform(-8, new XPoint(165, 115));
//formGfx.DrawImage(XPdfForm.FromFile("../../../../PDFs/SomeLayout.pdf"), new XRect(140, 80, 50, 50 * Math.Sqrt(2)));
//formGfx.Restore(state);
// When you finished drawing on the form, dispose the XGraphic object.
formGfx.Dispose();
// Step 2: Draw the XPdfForm on your PDF page like an image
// Draw the form on the page of the document in its original size
gfx.DrawImage(form, 20, 50);
#if true_
// Draw it stretched
gfx.DrawImage(form, 300, 100, 250, 40);
// Draw and rotate it
int d = 25;
for (int idx = 0; idx < 360; idx += d)
{
gfx.DrawImage(form, 300, 480, 200, 200);
gfx.RotateAtTransform(d, new XPoint(300, 480));
}
#endif
//// Save the document...
//string filename = "XForms.pdf";
//document.Save(filename);
//// ...and start a viewer.
//Process.Start(filename);
#else
//base.RenderPage(gfx);
int cx = 300;
int cy = 240;
XForm form;
//if (gfx.PdfPage == null)
form = new XForm(gfx, cx, cy);
//else
// form = new XForm(gfx.PdfPage.Owner, cx, cy);
double dx = gfx.PageSize.Width;
double dy = gfx.PageSize.Height;
XGraphics formgfx = XGraphics.FromForm(form);
XSolidBrush brush = new XSolidBrush(XColor.FromArgb(128, 0, 255, 255));
formgfx.DrawRectangle(brush, -1000, -1000, 2000, 2000);
formgfx.DrawLine(XPens.Red, 0, 0, cx, cy);
formgfx.DrawLine(XPens.Red, cx, 0, 0, cy);
//.........这里部分代码省略.........
示例4: Render
/// <summary>
/// Renders the matrix code.
/// </summary>
protected internal override void Render(XGraphics gfx, XBrush brush, XPoint position)
{
XGraphicsState state = gfx.Save();
switch (this.direction)
{
case CodeDirection.RightToLeft:
gfx.RotateAtTransform(180, position);
break;
case CodeDirection.TopToBottom:
gfx.RotateAtTransform(90, position);
break;
case CodeDirection.BottomToTop:
gfx.RotateAtTransform(-90, position);
break;
}
XPoint pos = position + CodeBase.CalcDistance(this.anchor, AnchorType.TopLeft, this.size);
if (this.matrixImage == null)
this.matrixImage = DataMatrixImage.GenerateMatrixImage(Text, Encoding, Rows, Columns);
if (QuietZone > 0)
{
XSize sizeWithZone = new XSize(this.size.width, this.size.height);
sizeWithZone.width = sizeWithZone.width / (Columns + 2 * QuietZone) * Columns;
sizeWithZone.height = sizeWithZone.height / (Rows + 2 * QuietZone) * Rows;
XPoint posWithZone = new XPoint(pos.X, pos.Y);
posWithZone.X += size.width / (Columns + 2 * QuietZone) * QuietZone;
posWithZone.Y += size.height / (Rows + 2 * QuietZone) * QuietZone;
gfx.DrawRectangle(XBrushes.White, pos.x, pos.y, size.width, size.height);
gfx.DrawImage(matrixImage, posWithZone.x, posWithZone.y, sizeWithZone.width, sizeWithZone.height);
}
else
gfx.DrawImage(matrixImage, pos.x, pos.y, this.size.width, this.size.height);
gfx.Restore(state);
}
示例5: DrawLineArrowInternal
private static XPoint DrawLineArrowInternal(XGraphics gfx, XPen pen, XSolidBrush brush, double x, double y, double angle, Core2D.Style.ArrowStyle style)
{
XPoint pt;
var rt = new XMatrix();
var c = new XPoint(x, y);
rt.RotateAtPrepend(angle, c);
double rx = style.RadiusX;
double ry = style.RadiusY;
double sx = 2.0 * rx;
double sy = 2.0 * ry;
switch (style.ArrowType)
{
default:
case Core2D.Style.ArrowType.None:
{
pt = new XPoint(x, y);
}
break;
case Core2D.Style.ArrowType.Rectangle:
{
pt = rt.Transform(new XPoint(x - sx, y));
var rect = new XRect(x - sx, y - ry, sx, sy);
gfx.Save();
gfx.RotateAtTransform(angle, c);
DrawRectangleInternal(gfx, brush, pen, style.IsStroked, style.IsFilled, ref rect);
gfx.Restore();
}
break;
case Core2D.Style.ArrowType.Ellipse:
{
pt = rt.Transform(new XPoint(x - sx, y));
gfx.Save();
gfx.RotateAtTransform(angle, c);
var rect = new XRect(x - sx, y - ry, sx, sy);
DrawEllipseInternal(gfx, brush, pen, style.IsStroked, style.IsFilled, ref rect);
gfx.Restore();
}
break;
case Core2D.Style.ArrowType.Arrow:
{
pt = rt.Transform(new XPoint(x, y));
var p11 = rt.Transform(new XPoint(x - sx, y + sy));
var p21 = rt.Transform(new XPoint(x, y));
var p12 = rt.Transform(new XPoint(x - sx, y - sy));
var p22 = rt.Transform(new XPoint(x, y));
DrawLineInternal(gfx, pen, style.IsStroked, ref p11, ref p21);
DrawLineInternal(gfx, pen, style.IsStroked, ref p12, ref p22);
}
break;
}
return pt;
}
示例6: EndBox
public void EndBox(XGraphics gfx)
{
gfx.Restore(this.state);
gfx.TranslateTransform(-62, -63);
gfx.RotateAtTransform(-90.0, new XPoint(height / 4, width / 4));
}