Ejemplo n.º 1
0
        private void Canvas_MouseMove(object sender, MouseEventArgs e)
        {
            var canvas = sender as Canvas;
            var pos    = e.GetPosition(canvas);

            Debug.WriteLine("{0:N2}:{1:N2}", CentimeterToPixelConverter.ConvertToCmX(pos.X), CentimeterToPixelConverter.ConvertToCmY(pos.Y));
        }
Ejemplo n.º 2
0
        void AssociatedObject_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
        {
            var pos = e.GetPosition(sender as IInputElement);

            X = CentimeterToPixelConverter.ConvertToCmX(pos.X);
            Y = CentimeterToPixelConverter.ConvertToCmY(pos.Y);
            //Debug.WriteLine("{0:N2}:{1:N2}", CentimeterToPixelConverter.ConvertToCmX(pos.X), CentimeterToPixelConverter.ConvertToCmY(pos.Y));
        }
Ejemplo n.º 3
0
        private void Rectangle_MouseMove(object sender, MouseEventArgs e)
        {
            var rec = sender as Rectangle;

            if (rec.IsMouseCaptureWithin)
            {
                Vector diff = e.GetPosition(rec) - mouseStartPosition;
                Item.Y = Math.Max(0, Item.Y + CentimeterToPixelConverter.ConvertToCmY(diff.Y));
                Item.X = Math.Max(0, Item.X + CentimeterToPixelConverter.ConvertToCmX(diff.X));
            }
        }
Ejemplo n.º 4
0
        private void letfBottom_MouseMove(object sender, MouseEventArgs e)
        {
            var rec = sender as Rectangle;

            if (rec.IsMouseCaptureWithin)
            {
                Vector diff = e.GetPosition(rec) - mouseStartPosition;
                Item.Height = Math.Max(0, Item.Height + CentimeterToPixelConverter.ConvertToCmY(diff.Y));
                Item.Width  = Math.Max(0, Item.Width - CentimeterToPixelConverter.ConvertToCmX(diff.X));
                if (Item.Width > 0)
                {
                    Item.X = Math.Max(0, Item.X + CentimeterToPixelConverter.ConvertToCmX(diff.X));
                }
            }
        }
Ejemplo n.º 5
0
        private void PrintCalibratePage()
        {
            var dialog = new System.Windows.Forms.PrintPreviewDialog();

            dialog.Document = new PrintDocument();
            //dialog.Document.PrinterSettings = dialog.PrinterSettings;
            dialog.Document.PrintPage += (s, e) =>
            {
                //Font font1 = new Font("Arial", 11, System.Drawing.FontStyle.Regular);

                //// Construct a new Rectangle .
                //Rectangle displayRectangle =
                //    new Rectangle(40, 40, 180, 180);

                //// Construct 2 new StringFormat objects
                //StringFormat format1 = new StringFormat(StringFormatFlags.NoClip);
                //StringFormat format2 = new StringFormat(format1);

                //// Set the LineAlignment and Alignment properties for
                //// both StringFormat objects to different values.
                //format1.LineAlignment = StringAlignment.Near;
                //format1.Alignment = StringAlignment.Center;

                //format2.LineAlignment = StringAlignment.Center;
                //format2.Alignment = StringAlignment.Far;

                //// Draw the bounding rectangle and a string for each
                //// StringFormat object.
                //e.Graphics.DrawRectangle(Pens.Black, displayRectangle);
                //e.Graphics.DrawString("Showing Format1", font1,
                //    System.Drawing.Brushes.Red, (RectangleF)displayRectangle, format1);
                //e.Graphics.DrawString("Showing Format2", font1,
                //    System.Drawing.Brushes.Red, (RectangleF)displayRectangle, format2);

                //return;
                var x = e.PageSettings.HardMarginX;
                var y = e.PageSettings.HardMarginY;

                double lineHeightCm = 1;
                double lineWidthCm  = 1;

                float lineHeight = (float)CentimeterToPixelConverter.ConvertY(lineHeightCm);
                float lineWidth  = (float)CentimeterToPixelConverter.ConvertX(lineWidthCm);

                float pWidth = e.PageSettings.PaperSize.Width;
                float pHight = e.PageSettings.PaperSize.Height;

                var        pen   = System.Drawing.Pens.Black;
                SolidBrush brush = new SolidBrush(System.Drawing.Color.Black);
                Font       font  = new Font("Arial", 11, System.Drawing.FontStyle.Regular);

                e.Graphics.DrawLine(pen, 200 - x, 500 - y, 200 - x, 600 - y);
                e.Graphics.DrawString("2 дюйма = 5,08 см", font, brush, 220F, 550F);

                e.Graphics.DrawLine(pen, 10F / 2.54F * 100F - x, 10F / 2.54F * 100F - y, 10F / 2.54F * 100F - x, 15F / 2.54F * 100F - y);
                e.Graphics.DrawLine(pen, 10F / 2.54F * 100F - x, 10F / 2.54F * 100F - y, 15F / 2.54F * 100F - x, 10F / 2.54F * 100F - y);
                e.Graphics.DrawString("10 см от верхнего и левого краев", font, brush, 10.5F / 2.54F * 100F, 10.5F / 2.54F * 100F);

                e.Graphics.DrawLine(pen, 15F / 2.54F * 100F - x, 15F / 2.54F * 100F - y, 15F / 2.54F * 100F - x, 17F / 2.54F * 100F - y);
                e.Graphics.DrawLine(pen, 15F / 2.54F * 100F - x, 15F / 2.54F * 100F - y, 17F / 2.54F * 100F - x, 15F / 2.54F * 100F - y);
                e.Graphics.DrawString("15 см от верхнего и левого краев", font, brush, 15.5F / 2.54F * 100F, 15.5F / 2.54F * 100F);

                e.Graphics.DrawLine(pen, 19F / 2.54F * 100F - x, 25F / 2.54F * 100F - y, 19F / 2.54F * 100F - x, 28F / 2.54F * 100F - y);
                e.Graphics.DrawLine(pen, 19F / 2.54F * 100F - x, 25F / 2.54F * 100F - y, 21F / 2.54F * 100F - x, 25F / 2.54F * 100F - y);
                e.Graphics.DrawString("25 от верхнего и\r\n 19 см от левого краев", font, brush, 18F / 2.54F * 100F, 26F / 2.54F * 100F);

                ////1. top-left conner
                //e.Graphics.DrawLine(pen, lineWidth * 0.5F, lineHeight, lineWidth * 1.5F, lineHeight);
                //e.Graphics.DrawLine(pen, lineWidth, lineHeight * 0.5F, lineWidth, lineHeight * 1.5F);
                //e.Graphics.DrawString(string.Format("{0:N1}:{1:N1}", lineWidthCm, lineHeightCm), font, brush, lineWidth * 2F, lineHeight * 2f);

                ////2. top-right conner
                //e.Graphics.DrawLine(pen, e.PageSettings.PaperSize.Width - lineWidth * 1.5F, lineHeight, e.PageSettings.PaperSize.Width - lineWidth * 0.5F, lineHeight);
                //e.Graphics.DrawLine(pen, e.PageSettings.PaperSize.Width - lineWidth, lineHeight * 0.5F, e.PageSettings.PaperSize.Width - lineWidth, lineHeight * 1.5F);
                //e.Graphics.DrawString(string.Format("{0:N1}:{1:N1}", CentimeterToPixelConverter.ConvertToCmX(e.PageSettings.PaperSize.Width - lineWidth), lineHeightCm), font, brush, e.PageSettings.PaperSize.Width - lineWidth * 3F, lineHeight * 2f);

                ////3. bottom-left conner
                //e.Graphics.DrawLine(pen, lineWidth * 0.5F, e.PageSettings.PaperSize.Height - lineHeight, lineHeight * 1.5F, e.PageSettings.PaperSize.Height - lineHeight);
                //e.Graphics.DrawLine(pen, lineWidth, e.PageSettings.PaperSize.Height - lineHeight * 1.5F, lineWidth, e.PageSettings.PaperSize.Height - lineHeight * 0.5F);
                //e.Graphics.DrawString(string.Format("{0:N1}:{1:N1}", lineWidthCm, CentimeterToPixelConverter.ConvertToCmY(e.PageSettings.PaperSize.Height - lineHeight)), font, brush, lineWidth * 2F, e.PageSettings.PaperSize.Height - lineHeight * 2f);

                ////4. bottom-right
                //e.Graphics.DrawLine(pen, e.PageSettings.PaperSize.Width - lineWidth * 1.5F, e.PageSettings.PaperSize.Height - lineHeight, e.PageSettings.PaperSize.Width - lineWidth * 0.5F, e.PageSettings.PaperSize.Height - lineHeight);
                //e.Graphics.DrawLine(pen, e.PageSettings.PaperSize.Width - lineWidth, e.PageSettings.PaperSize.Height - lineHeight * 1.5F, e.PageSettings.PaperSize.Width - lineWidth, e.PageSettings.PaperSize.Height - lineHeight * 0.5F);
                //e.Graphics.DrawString(string.Format("{0:N1}:{1:N1}", CentimeterToPixelConverter.ConvertToCmX(e.PageSettings.PaperSize.Width - lineWidth), CentimeterToPixelConverter.ConvertToCmY(e.PageSettings.PaperSize.Height - lineHeight)), font, brush, e.PageSettings.PaperSize.Width - lineWidth * 3F, e.PageSettings.PaperSize.Height - lineHeight * 2f);

                ////5. Center
                //e.Graphics.DrawLine(pen, e.PageSettings.PaperSize.Width / 2 - lineWidth / 2, e.PageSettings.PaperSize.Height / 2, e.PageSettings.PaperSize.Width / 2 + lineWidth / 2, e.PageSettings.PaperSize.Height / 2);
                //e.Graphics.DrawLine(pen, e.PageSettings.PaperSize.Width / 2, e.PageSettings.PaperSize.Height / 2 - lineHeight / 2, e.PageSettings.PaperSize.Width / 2, e.PageSettings.PaperSize.Height / 2 + lineHeight / 2);
                //e.Graphics.DrawString(string.Format("{0:N1}:{1:N1}", CentimeterToPixelConverter.ConvertToCmX(e.PageSettings.PaperSize.Width / 2), CentimeterToPixelConverter.ConvertToCmY(e.PageSettings.PaperSize.Height / 2)), font, brush, e.PageSettings.PaperSize.Width / 2 + lineWidth, e.PageSettings.PaperSize.Height / 2 + lineHeight);


                //6. Page size
                e.Graphics.DrawString(string.Format("Размер страницы {0:N1}х{1:N1} см.", e.PageSettings.PaperSize.Width / 100F * 2.54,
                                                    e.PageSettings.PaperSize.Height / 100F * 2.54), font, brush, lineWidth * 2F, lineHeight * 5f);

                e.Graphics.DrawString(string.Format("Размер печатной области {0:N1}х{1:N1} см.", e.PageSettings.PrintableArea.Width / 100F * 2.54,
                                                    e.PageSettings.PrintableArea.Height / 100F * 2.54), font, brush, lineWidth * 2F, lineHeight * 6f);


                e.Graphics.DrawString(string.Format("Физический отступ принтера {0:N1}х{1:N1} см.", e.PageSettings.HardMarginX / 100F * 2.54,
                                                    e.PageSettings.HardMarginY / 100F * 2.54), font, brush, lineWidth * 2F, lineHeight * 8f);

                //7. Риски по границам
                //e.Graphics.DrawLine(pen, e.PageSettings.PrintableArea.X, e.PageSettings.PrintableArea.Y, e.PageSettings.PrintableArea.X, e.PageSettings.PrintableArea.Y + lineWidth);
                //e.Graphics.DrawLine(pen, e.PageSettings.PrintableArea.X, e.PageSettings.PrintableArea.Y, e.PageSettings.PrintableArea.X + lineHeight, e.PageSettings.PrintableArea.Y);
                //e.Graphics.DrawLine(pen,e.PageSettings.PrintableArea.Right,e.PageSettings.PrintableArea.Bottom,e.PageSettings.PrintableArea.Right, e.PageSettings.PrintableArea.Bottom - lineHeight);
                //e.Graphics.DrawLine(pen,e.PageSettings.PrintableArea.Right,e.PageSettings.PrintableArea.Bottom,e.PageSettings.PrintableArea.Right - lineWidth, e.PageSettings.PrintableArea.Bottom);
            };

            dialog.ShowDialog();
        }