Exemplo n.º 1
0
 public override void Draw(Renderer renderer)
 {
     spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, null, null, Matrix.Identity * ((float)Game.Instance.GraphicsDevice.Viewport.Width) / 1280f);
     DrawTools.DrawCenteredBorderedShadowString(spriteBatch, font, str, pos - Vector2.UnitY * 50, Color.White, 1.0f * scale.Value);
     DrawTools.DrawCenteredBorderedShadowString(spriteBatch, font, "CONGRATULATIONS!", pos + Vector2.UnitY * 50, Color.White, 0.65f * scale.Value);
     spriteBatch.End();
 }
Exemplo n.º 2
0
        public void DrawPointArray(int id, Color color)
        {
            Vector2 point, point2;

            DrawTools.LineColor = color;
            IEnumerator <PriceFluctuation> it = visibleFluctuations.GetEnumerator();

            while (it.MoveNext() && (!it.Current.ExtraData.ContainsKey(id) || !(it.Current.ExtraData[id] is float)))
            {
                ;
            }

            if (!it.Current.ExtraData.ContainsKey(id))
            {
                return;
            }

            point = cam.WorldToScreenPoint(new Vector2(CoordGrid.FromDateToXAxis(it.Current.PeriodBegin), CoordGrid.FromPriceToYAxis((float)it.Current.ExtraData[id])));

            while (it.MoveNext())
            {
                if (it.Current.ExtraData[id] is float)
                {
                    point2 = cam.WorldToScreenPoint(new Vector2(CoordGrid.FromDateToXAxis(it.Current.PeriodBegin), CoordGrid.FromPriceToYAxis((float)it.Current.ExtraData[id])));
                    DrawTools.DrawLine(point, point2, false);
                    point = point2;
                }
            }
        }
Exemplo n.º 3
0
 private void DrawSnapshotButton()
 {
     if (DrawTools.DrawButton(Strings.TakeSnapshot))
     {
         DataContext.TakeSnapshot();
     }
 }
Exemplo n.º 4
0
        private static Bitmap DrawOpticianLabel(string optician, DateTime operationTime, float dpi, float bs)
        {
            var      fontCN8  = new Font("Arial", 8f * bs);
            var      fontEN6  = new Font("Arial", 6f * bs);
            var      widthPX  = DrawTools.Millimeter2Pix(38, dpi);
            var      heightPX = DrawTools.Millimeter2Pix(20, dpi);
            var      bitmap   = new Bitmap(widthPX, heightPX, PixelFormat.Format32bppPArgb);
            Graphics graphics = Graphics.FromImage(bitmap);

            bitmap.SetResolution(dpi, dpi);
            graphics.Clear(Color.White);

            //设定Y坐标
            var y = 3;
            var x = DrawTools.Millimeter2Pix(12, dpi);

            //开始绘画
            DrawString(graphics, "配镜师:" + optician, fontCN8, Color.Black, x, y);
            y += fontCN8.Height;
            DrawString(graphics, operationTime.ToString("yyyy-MM-dd HH:mm"), fontEN6, Color.Black, x, y);

            graphics.Save();
            graphics.Dispose();
            return(bitmap);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Draws the GUI elements of this window.
        /// </summary>
        /// <param name="skin">The skin this window is being drawn in.</param>
        protected override void DrawWindow(WindowSkin skin)
        {
            if (DataContext == null)
            {
                return;
            }

            if (DataContext.IsProcessingSnapshot)
            {
                DrawTools.CenterInArea(DrawProcessingLabel);
                return;
            }

            if (!DataContext.IsSnapshotAvailable)
            {
                DrawTools.CenterInArea(DrawSnapshotButton);
                return;
            }

            if (_modView is null)
            {
                var monotypeLabelStyle = new GUIStyle(skin.UnitySkin.label)
                {
                    font   = Font.CreateDynamicFontFromOSFont(Appearance.MonotypeFontNames, Appearance.FontSize),
                    margin = new RectOffset(0, 0, 2, 2),
                };

                _modView = new MonitoredModView(monotypeLabelStyle);
            }

            GUILayout.BeginVertical();
            DrawHeader();
            DrawSnapshotResults();
            GUILayout.EndVertical();
        }
Exemplo n.º 6
0
        private void DrawModItemContent(MonitoredModViewModel mod, float indent)
        {
            indent += Appearance.LargeMargin;

            mod.IsReflectionListExpanded = DrawTools.DrawExpander(
                () => DrawItemHeader(Strings.ReflectionQueries, mod.QueriesDescription),
                enabled: mod.AnyQueries,
                expanded: mod.IsReflectionListExpanded,
                i => DrawStringList(mod.QueriedMembers, i),
                indent);

            string conflictsCaption = mod.AnyConflicts
                ? Strings.PossibleModConflicts
                : Strings.PossibleModConflicts + ": " + Strings.None;

            GUILayout.BeginHorizontal();
            GUILayout.Space(indent);
            GUI.contentColor = Colors.Text;
            GUILayout.Label(conflictsCaption);
            GUILayout.EndHorizontal();

            GUILayout.Space(Appearance.SmallMargin);

            if (mod.AnyConflicts)
            {
                DrawConflictedMods(mod.Conflicts, indent);
            }
        }
Exemplo n.º 7
0
        private static Bitmap DrawOrderLabel(OrderLabelInfo orderLabelInfo, float dpi, float bs)
        {
            var fontEN = new Font("Arial", 6f * bs);
            //var fontCN = new Font("微软雅黑", 6f * bs);
            var      widthPX  = DrawTools.Millimeter2Pix(38, dpi);
            var      heightPX = DrawTools.Millimeter2Pix(20, dpi);
            var      bitmap   = new Bitmap(widthPX, heightPX, PixelFormat.Format32bppPArgb);
            Graphics graphics = Graphics.FromImage(bitmap);

            bitmap.SetResolution(dpi, dpi);
            graphics.Clear(Color.White);

            //设定Y坐标
            var y = 3;
            var x = DrawTools.Millimeter2Pix(3, dpi);

            //开始绘画
            DrawString(graphics, orderLabelInfo.OrderNo, fontEN, Color.Black, x, y);
            y += fontEN.Height;
            DrawString(graphics, orderLabelInfo.FrameGoodsName, fontEN, Color.Black, x, y);
            y += fontEN.Height;
            DrawString(graphics, orderLabelInfo.GlassGoodsName, fontEN, Color.Black, x, y);
            y += fontEN.Height;
            DrawString(graphics, orderLabelInfo.RightEyeInfo, fontEN, Color.Black, x, y);
            y += fontEN.Height;
            DrawString(graphics, orderLabelInfo.LeftEyeInfo, fontEN, Color.Black, x, y);

            //做旋转
            bitmap.RotateFlip(RotateFlipType.Rotate180FlipY);
            bitmap.RotateFlip(RotateFlipType.Rotate180FlipX);
            graphics.Save();
            graphics.Dispose();
            return(bitmap);
        }
Exemplo n.º 8
0
        private bool DrawHandle(PhysicalObject CurrObj, GraphicsDevice gdDevice, SpriteBatch dbDraw)
        {
            //Debug stuff to help with movement algorithm

            /*
             * if (cTarget != null) {
             *      DrawTools.DrawLine(gdDevice, dbDraw, Color.Red, 2, CenterPoint, cTarget.CenterPoint);
             * }
             *
             * if (cAvoid != null) {
             *      DrawTools.DrawLine(gdDevice, dbDraw, Color.Cyan, 2, CenterPoint, cAvoid.CenterPoint);
             * }
             */

            Vector  vHealthBar = new Vector();
            Vector2 vHealthStart, vHealthEnd;

            vHealthBar.SetPolarCoordinates(50f * (cnHealth / 100f), 0);

            vHealthStart = CenterPoint + new Vector2(-25, 25);
            vHealthEnd   = vHealthStart + new Vector2((float)vHealthBar.Rectangular.Real, (float)vHealthBar.Rectangular.Imaginary);
            DrawTools.DrawLine(gdDevice, dbDraw, Color.Red, 5, vHealthStart, vHealthEnd);

            return(true);
        }
Exemplo n.º 9
0
 /// <summary>
 /// Draws the content of the specified <see cref="MonitoredModViewModel"/> instance
 /// in the current area.
 /// </summary>
 /// <param name="mod">A <see cref="MonitoredModViewModel"/> instance to display.</param>
 public void DrawModView(MonitoredModViewModel mod)
 => mod.IsExpanded = DrawTools.DrawExpander(
     () => DrawItemHeader(mod.ModName, mod.Description),
     enabled: true,
     expanded: mod.IsExpanded,
     _ => DrawModItemContent(mod, Appearance.LargeMargin),
     indent: 0f);
Exemplo n.º 10
0
 private void textBox_Height_TextChanged(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(label_height.Text))
     {
         LabelHeight = (int)DrawTools.Millimeter2Pix(float.Parse(textBox_Height.Text), 192f);
         //label_height.Text = LabelHeight.ToString();
     }
 }
Exemplo n.º 11
0
        /// <summary>
        /// 打印镜片标签图片
        /// </summary>
        /// <param name="widthMM"></param>
        /// <param name="heightMM"></param>
        /// <param name="dpi"></param>
        /// <param name="optician">配镜师</param>
        /// <param name="operationTime"></param>
        /// <param name="orderLabelInfo"></param>
        /// <param name="checker">检验师</param>
        /// <param name="logoName"></param>
        /// <returns></returns>
        public static Image DrawToOpticImage(int widthMM, int heightMM, float dpi, string optician, DateTime operationTime, OrderLabelInfo orderLabelInfo, string checker, string logoName)
        {
            float    bs        = dpi / DrawTools.CURRENT_DPI;
            var      widthPX   = DrawTools.Millimeter2Pix(widthMM, dpi);
            var      heightPX  = DrawTools.Millimeter2Pix(heightMM, dpi);
            var      allBitmap = new Bitmap(widthPX, heightPX, PixelFormat.Format32bppPArgb);
            Graphics graphics  = Graphics.FromImage(allBitmap);

            allBitmap.SetResolution(dpi, dpi);
            graphics.Clear(Color.White);
            var       y = 1;
            const int X = 1;

            // 间隔空隙
            y += DrawTools.Millimeter2Pix(2, dpi);
            var logImg = Image.FromFile(Framework.Common.ServerInfo.SystemPath + string.Format(@"\Logo\{0}.jpg", logoName));
            var logbp  = GetThumbnail(logImg, DrawTools.Millimeter2Pix(10, dpi), DrawTools.Millimeter2Pix(20, dpi));

            DrawImage(graphics, logbp, (widthPX - logbp.Width) / 2, y);

            // 间隔空隙
            y += logbp.Height + DrawTools.Millimeter2Pix(1, dpi);

            //绘画订单信息标签
            var orderLabel = DrawOpticOrderLabel(widthMM, heightMM - 14, optician, operationTime, orderLabelInfo, checker, dpi, bs);

            DrawImage(graphics, orderLabel, X, y);

            //下一张间隔
            //y += opticianLabel.Height-14;
            //y += DrawTools.Millimeter2Pix(14, dpi);

            //绘画配镜师标签
            //var opticianLabel = DrawOpticOperationLabel(optician,operationTime, dpi, bs);
            //DrawImage(graphics, opticianLabel, X, y);



            ////下一张间隔
            //y += orderLabel.Height;
            //y += DrawTools.Millimeter2Pix(5, dpi);

            //绘画检验师
            //var checkLabel = DrawChecker(checker, orderLabelInfo.OrderNo, dpi, bs);
            //DrawImage(graphics, checkLabel, X, y);

            //下一张间隔
            //y += checkLabel.Height;
            //y += DrawTools.Millimeter2Pix(5, dpi);

            //同样再绘画检验师
            //DrawImage(graphics, checkLabel, X, y);


            graphics.Save();
            graphics.Dispose();
            return(allBitmap);
        }
Exemplo n.º 12
0
 private void RenderFrame(object sender, FrameEventArgs e)
 {
     beforeRenderingCallbacks.ForEach((i) => i.BeforeRendering());
     Render?.Invoke();
     afterRenderingCallbacks.ForEach((i) => i.AfterRendering());
     DrawTools.WriteErrors();
     //buffer swap (and sync) of double buffering (http://gameprogrammingpatterns.com/double-buffer.html)
     gameWindow.SwapBuffers();
 }
Exemplo n.º 13
0
 private void DrawConflictedMods(IEnumerable <ConflictInfoViewModel> conflicts, float indent)
 {
     foreach (var conflict in conflicts)
     {
         conflict.IsExpanded = DrawTools.DrawExpander(
             () => DrawItemHeader(conflict.ModName, conflict.Description),
             enabled: conflict.AnyMembers,
             expanded: conflict.IsExpanded,
             i => DrawStringList(conflict.MemberNames, i),
             indent);
     }
 }
Exemplo n.º 14
0
 /// <summary>
 /// Select the currently active tool. Passed by index to work with Unity button events in the Editor.
 /// </summary>
 /// <param name="index">Enum index. 0 - Line, 1 - Pen, 2 - Eraser.</param>
 public void SetTool(int index)
 {
     drawTool = (DrawTools)index;
     if (drawTool == DrawTools.Eraser)
     {
         eraser.gameObject.SetActive(true);
     }
     else
     {
         eraser.gameObject.SetActive(false);
     }
 }
Exemplo n.º 15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="widthMM"></param>
        /// <param name="heightMM"></param>
        /// <param name="dpi"></param>
        /// <param name="optician">配镜师</param>
        /// <param name="operationTime"></param>
        /// <param name="orderLabelInfo"></param>
        /// <param name="checker">检验师</param>
        /// <returns></returns>
        public static Image DrawToImage(int widthMM, int heightMM, float dpi, string optician, DateTime operationTime, OrderLabelInfo orderLabelInfo, string checker)
        {
            float bs = dpi / DrawTools.CURRENT_DPI;

            var      widthPX   = DrawTools.Millimeter2Pix(widthMM, dpi);
            var      heightPX  = DrawTools.Millimeter2Pix(heightMM, dpi);
            var      allBitmap = new Bitmap(widthPX, heightPX, PixelFormat.Format32bppPArgb);
            Graphics graphics  = Graphics.FromImage(allBitmap);

            allBitmap.SetResolution(dpi, dpi);
            graphics.Clear(Color.White);
            var       y = 1;
            const int X = 0;


            // 间隔空隙两张
            y += DrawTools.Millimeter2Pix(50, dpi);

            //绘画配镜师标签
            var opticianLabel = DrawOpticianLabel(optician, operationTime, dpi, bs);

            DrawImage(graphics, opticianLabel, X, y);

            //下一张间隔
            //y += opticianLabel.Height-14;
            y += DrawTools.Millimeter2Pix(14, dpi);

            //绘画订单信息标签
            var orderLabel = DrawOrderLabel(orderLabelInfo, dpi, bs);

            DrawImage(graphics, orderLabel, X, y);

            //下一张间隔
            y += orderLabel.Height;
            y += DrawTools.Millimeter2Pix(5, dpi);

            //绘画检验师
            var checkLabel = DrawChecker(checker, orderLabelInfo.OrderNo, dpi, bs);

            DrawImage(graphics, checkLabel, X, y);

            //下一张间隔
            y += checkLabel.Height;
            //y += DrawTools.Millimeter2Pix(5, dpi);

            //同样再绘画检验师
            DrawImage(graphics, checkLabel, X, y);


            graphics.Save();
            graphics.Dispose();
            return(allBitmap);
        }
Exemplo n.º 16
0
 /// <summary>
 /// Select currently active tool.
 /// </summary>
 /// <param name="tool">DrawingManger.DrawTool</param>
 public void SetTool(DrawTools tool)
 {
     drawTool = tool;
     if (drawTool == DrawTools.Eraser)
     {
         eraser.gameObject.SetActive(true);
     }
     else
     {
         eraser.gameObject.SetActive(false);
     }
 }
Exemplo n.º 17
0
        /// <summary>
        /// 绘制框架条码
        /// </summary>
        /// <param name="drawGoodsInfo"></param>
        /// <returns></returns>
        public Image DrawToImage(DrawGoodsInfo drawGoodsInfo)
        {
            var barcodeText = drawGoodsInfo.GoodsCode.ToUpper();
            int barWidth    = DrawTools.Millimeter2Pix(Width, DPI);
            int barHeight   = DrawTools.Millimeter2Pix(Height, DPI);
            var bitmap      = new Bitmap(barWidth, barHeight, PixelFormat.Format32bppPArgb);

            bitmap.SetResolution(DPI, DPI);
            Graphics graphics = Graphics.FromImage(bitmap);

            graphics.Clear(Color.White);

            //条码对象
            var ex2 = new CBarcodeX
            {
                Data      = barcodeText,
                ShowText  = false,
                Symbology = bcType.Code128,
                Font      = new Font("Arial", 12)
            };
            var barcodeImage = ex2.Image(barWidth / 2 - DrawTools.Millimeter2Pix(4, DPI), DrawTools.Millimeter2Pix(7, DPI));

            //画左侧价格条码
            int x = DrawTools.Millimeter2Pix(3, DPI);

            DrawText(ref graphics, barcodeImage, drawGoodsInfo, barWidth, x, 0);

            //画右侧价格条码
            x = DrawTools.Millimeter2Pix(Width / 2 + 4, DPI);
            DrawText(ref graphics, barcodeImage, drawGoodsInfo, barWidth, x, barWidth / 2 + 7);

            //int y = DrawTools.Millimeter2Pix(3.5f, DPI);
            //graphics.DrawImage(barcodeImage, x, y, barcodeImage.Width, barcodeImage.Height);
            //y = y + barcodeImage.Height + 5;
            //var font = new Font("微软雅黑", 8f);

            //var stringFormat = new StringFormat
            //{
            //    LineAlignment = StringAlignment.Center,
            //    Alignment = StringAlignment.Center
            //};
            //var printTxt = "产品编号:" + drawGoodsInfo.GoodsCode;
            //var lbRect = new Rectangle(0, y, barWidth / 2, (int)font.GetHeight() + 15);
            //graphics.DrawString(printTxt, font, new SolidBrush(Color.Black), lbRect, stringFormat);
            //y = y + font.Height + 20;
            //lbRect.Y = y;
            //printTxt = "全国统一零售价:" + drawGoodsInfo.SellPrice + "元";
            //graphics.DrawString(printTxt, new Font("微软雅黑", 7f), new SolidBrush(Color.Black), lbRect, stringFormat);


            graphics.Save();
            return(bitmap);
        }
        public static void SetCurrentTool(Button currentButton, DrawTools tool)
        {
            if (_oldButton != null)
            {
                _oldButton.ForeColor = Color.Black;
            }

            _oldButton = currentButton;
            currentButton.ForeColor = Color.White;

            CurrentTool = tool;
        }
Exemplo n.º 19
0
        private void FrmMaterials_Load(object sender, EventArgs e)
        {
            SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);
            this.UpdateStyles();
            Bitmap   bmp = new Bitmap(pbImg.Width, pbImg.Height);
            Graphics g   = Graphics.FromImage(bmp);

            g.FillRectangle(new SolidBrush(pbImg.BackColor), new Rectangle(0, 0, pbImg.Width, pbImg.Height));
            g.Dispose();
            tools          = new DrawTools(this.pbImg.CreateGraphics(), colorHatch1.HatchColor, bmp);//实例化工具类
            DefaultPicSize = pbImg.Size;
        }
Exemplo n.º 20
0
 public void SetNewPoints(DrawTools.Line l, UnitPoint hitpoint, UnitPoint intersectpoint)
 {
     SetLine(l);
     double hitToVp1 = HitUtil.Distance(hitpoint, l.P1); // hit point to vertex point
     double ispToVp1 = HitUtil.Distance(intersectpoint, l.P1); // intersect point to vertex point
     // if hit is closer than intersect point, then keep this point and adjust the other
     if (hitToVp1 <= ispToVp1)
         m_p2 = intersectpoint;
     else
         m_p1 = intersectpoint;
     ResetLine();
 }
Exemplo n.º 21
0
        /// <summary>
        /// 打印镜片标签图片
        /// </summary>
        /// <param name="drawGoodsInfo">需打印的商品信息</param>
        /// <returns></returns>
        public Image DrawToImage(DrawGoodsInfo drawGoodsInfo)
        {
            float    bs        = DPI / DrawTools.CURRENT_DPI;
            var      widthPX   = DrawTools.Millimeter2Pix(Width, DPI);
            var      heightPX  = DrawTools.Millimeter2Pix(Height, DPI);
            var      allBitmap = new Bitmap(widthPX, heightPX, PixelFormat.Format32bppPArgb);
            Graphics graphics  = Graphics.FromImage(allBitmap);

            allBitmap.SetResolution(DPI, DPI);
            graphics.Clear(Color.White);
            var       y = 1;
            const int X = 0;


            // 间隔空隙两张
            //y += DrawTools.Millimeter2Pix(50,dpi);

            //绘画条码
            var barcodeLabel = DrawBarcodeLabel(Width, drawGoodsInfo.GoodsCode, DPI, bs);

            DrawImage(graphics, barcodeLabel, X, y);

            //下一张间隔
            //y += opticianLabel.Height-14;
            y += DrawTools.Millimeter2Pix((float)14.5, DPI);

            //绘画订单信息标签
            var orderLabel = DrawPriceLabel(Width, drawGoodsInfo.GoodsName, drawGoodsInfo.SellPrice, DPI, bs);

            DrawImage(graphics, orderLabel, X, y);

            ////下一张间隔
            //y += orderLabel.Height;
            //y += DrawTools.Millimeter2Pix(5, dpi);

            //绘画检验师
            //var checkLabel = DrawChecker(checker, orderLabelInfo.OrderNo, dpi, bs);
            //DrawImage(graphics, checkLabel, X, y);

            //下一张间隔
            //y += checkLabel.Height;
            //y += DrawTools.Millimeter2Pix(5, dpi);

            //同样再绘画检验师
            //DrawImage(graphics, checkLabel, X, y);


            graphics.Save();
            graphics.Dispose();
            return(allBitmap);
        }
Exemplo n.º 22
0
        /// <summary>
        /// Called to actually render the game content to the backbuffer, which will be flipped with
        /// the currently displayed buffer to show the next frame.
        /// </summary>
        /// <param name="gameTime">Current time information of the application</param>
        protected override void Draw(GameTime gameTime)
        {
            Rectangle      CircleDest;
            int            nVertCtr, nPolyCtr;
            List <Vector2> VertList = new List <Vector2>();
            List <Vector2> CurveVerts;
            Rectangle      rectCurveBounds;
            Texture2D      LineTexture = new Texture2D(GraphicsDevice, 1, 1);

            LineTexture.SetData(new[] { Color.Cyan });

            cGraphDevMgr.GraphicsDevice.Clear(Color.Black);
            cDrawBatch.Begin(SpriteSortMode.Deferred, BlendState.NonPremultiplied);

            for (nPolyCtr = 0; nPolyCtr < cPolyList.Count; nPolyCtr++)
            {
                VertList.Clear();
                VertList.AddRange(cPolyList[nPolyCtr].GetVertexes(false));

                //Draw circles at each vertex
                for (nVertCtr = 0; nVertCtr < VertList.Count; nVertCtr++)
                {
                    CircleDest.X      = (int)(VertList[nVertCtr].X - CIRCLERADIUS);
                    CircleDest.Y      = (int)(VertList[nVertCtr].Y - CIRCLERADIUS);
                    CircleDest.Height = CIRCLERADIUS * 2;
                    CircleDest.Width  = CIRCLERADIUS * 2;

                    cDrawBatch.Draw(cCircleTexture, CircleDest, Color.Gray);
                }

                //Draw the polygons
                cPolyList[nPolyCtr].Draw();
            }

            VertList.Clear();
            VertList.AddRange(cPolyList[1].GetVertexes(false));
            MGMath.CubicBezierCurvePoints(VertList[0], VertList[3], VertList[1], VertList[2], 10, out CurveVerts);

            MGMath.CubicBezierCurveBoundaries(VertList[0], VertList[3], VertList[1], VertList[2], out rectCurveBounds);

            DrawTools.DrawLineSeries(GraphicsDevice, cDrawBatch, Color.LightYellow, 2, CurveVerts);
            DrawTools.DrawRectangle(GraphicsDevice, cDrawBatch, Color.RosyBrown, 2, rectCurveBounds);

            //Always draw console last
            cDevConsole.Draw(cDrawBatch);

            cDrawBatch.End();

            //Use monogame draw
            base.Draw(gameTime);
        }
Exemplo n.º 23
0
        //private static Bitmap DrawOpticOperationLabel(string optician, DateTime operationTime, float dpi, float bs)
        //{
        //    var fontCN7 = new Font("Arial", 7f * bs);
        //    var fontEN6 = new Font("Arial", 6f * bs);
        //    var widthPX = DrawTools.Millimeter2Pix(38, dpi);
        //    var heightPX = DrawTools.Millimeter2Pix(13, dpi);
        //    var bitmap = new Bitmap(widthPX, heightPX, PixelFormat.Format32bppPArgb);
        //    Graphics graphics = Graphics.FromImage(bitmap);
        //    bitmap.SetResolution(dpi, dpi);
        //    graphics.Clear(Color.White);

        //    //设定Y坐标
        //    var y = 5;
        //    var x = DrawTools.Millimeter2Pix(0, dpi);


        //    graphics.Save();
        //    graphics.Dispose();
        //    return bitmap;
        //}

        private static Bitmap DrawOpticOrderLabel(int widthMM, int heightMM, string optician, DateTime operationTime, OrderLabelInfo orderLabelInfo, string checker, float dpi, float bs)
        {
            var      fontNB   = new Font("Arial", 6f * bs);
            var      fontCN   = new Font("Arial", 7f * bs);
            var      widthPX  = DrawTools.Millimeter2Pix(widthMM, dpi);
            var      heightPX = DrawTools.Millimeter2Pix(heightMM, dpi);
            var      bitmap   = new Bitmap(widthPX, heightPX, PixelFormat.Format32bppPArgb);
            Graphics graphics = Graphics.FromImage(bitmap);

            bitmap.SetResolution(dpi, dpi);
            graphics.Clear(Color.White);

            //设定Y坐标
            var y = 3;
            var x = DrawTools.Millimeter2Pix(3, dpi);

            //开始绘画
            DrawString(graphics, "工单:" + orderLabelInfo.OrderNo, fontCN, Color.Black, x, y);
            y += fontCN.Height;
            DrawString(graphics, "配镜:" + optician, fontCN, Color.Black, x, y);
            y += fontCN.Height;
            DrawString(graphics, "时间: " + operationTime.ToString("yy-MM-dd HH:mm"), fontCN, Color.Black, x, y);
            y += fontCN.Height;
            DrawString(graphics, "质检:" + checker, fontCN, Color.Black, x, y);
            y += fontCN.Height;
            DrawString(graphics, "执行标准:", fontCN, Color.Black, x, y);
            y += fontCN.Height;
            DrawString(graphics, "QB-2506-2001 GB10810.1-2005", fontNB, Color.Black, x, y);
            y += fontNB.Height;
            DrawString(graphics, "QB-2682-2005 GB10810.3-2006", fontNB, Color.Black, x, y);

            y += 35;
            //条码对象
            var ex2 = new CBarcodeX
            {
                Data      = orderLabelInfo.OrderNo,
                ShowText  = false,
                Symbology = bcType.Code128,
                Font      = new Font("Arial", 12)
            };
            var barcodeImage = ex2.Image(widthPX - DrawTools.Millimeter2Pix(3, dpi), DrawTools.Millimeter2Pix(10, dpi));

            DrawImage(graphics, barcodeImage, (widthPX - barcodeImage.Width) / 2, y);//画上条码

            //做旋转
            //bitmap.RotateFlip(RotateFlipType.Rotate180FlipY);
            //bitmap.RotateFlip(RotateFlipType.Rotate180FlipX);
            graphics.Save();
            graphics.Dispose();
            return(bitmap);
        }
Exemplo n.º 24
0
        public void DrawGrid(IEnumerable <DateTime> dateList, IEnumerable <decimal> pricesList)
        {
            if (!IsSettingsSet)
            {
                return;
            }


            DrawTools.LineColor  = gridColor;
            DrawTools.dashLength = 0.05f;
            DrawTools.gap        = 0.07f;

            priceTextPool.CleanPool();

            float yPoint;

            foreach (var price in pricesList)
            {
                yPoint = CoordGrid.FromPriceToYAxis((float)price);
                yPoint = cam.WorldToScreenPoint(new Vector2(0, yPoint)).y;
                priceTextPool.SetText(
                    price.ToString("F8"),
                    yPoint,
                    TextPoolManager.ShiftBy.Vertical
                    );

                Vector2 pricePoint1 = new Vector2(cam.WorldToScreenPoint(worldPointInLeftDownCorner).x, yPoint);
                Vector2 pricePoint2 = new Vector2(cam.WorldToScreenPoint(worldPointInRightUpCorner).x, yPoint);

                DrawTools.DrawOnePixelLine(pricePoint1, pricePoint2, true);
            }

            dateTextPool.CleanPool();
            foreach (var date in dateList)
            {
                float dateLine = CoordGrid.FromDateToXAxis(date);
                dateLine = cam.WorldToScreenPoint(new Vector2(dateLine, 0)).x;
                dateTextPool.SetText(
                    date.ChartStringFormat(),
                    dateLine,
                    TextPoolManager.ShiftBy.Horizontal
                    );


                Vector2 datePoint1 = new Vector2(dateLine, cam.pixelRect.min.y);
                Vector2 datePoint2 = new Vector2(dateLine, cam.pixelRect.max.y);

                DrawTools.DrawOnePixelLine(datePoint1, datePoint2, true);
            }
        }
Exemplo n.º 25
0
        internal void Draw(IEnumerable <ITile> tiles)
        {
            GL.Clear(ClearBufferMask.ColorBufferBit);
            GL.LoadIdentity();
            GL.Scale(2f, 2f, 1f);
            GL.Translate(-.5f, -.5f, 0f);

            texTileSet.Activate();
            foreach (var tile in tiles)
            {
                DrawTools.DrawTexturedRect(tile.Bounds, tile.TexCoords);
            }
            texTileSet.Deactivate();
        }
Exemplo n.º 26
0
 public Form1()
 {
     InitializeComponent();
     CheckForIllegalCrossThreadCalls = false;
     Tools = new DrawTools(this.panel1);
     boxTim.DropDownStyle = ComboBoxStyle.DropDownList;
     boxTim.Items.Add(1);
     boxTim.Items.Add(2);
     boxTim.Items.Add(4);
     boxTim.Items.Add(8);
     boxTim.Items.Add(16);
     boxTim.Items.Add(32);
     boxTim.SelectedIndex = 3;
     Tools.RUN            = int.Parse(boxTim.SelectedItem.ToString());
 }
Exemplo n.º 27
0
        internal void Render(IEnumerable <IReadOnlyBox2D> shapes)
        {
            GL.Clear(ClearBufferMask.ColorBufferBit);
            GL.LoadIdentity();                 // start with identity transformation
            GL.Scale(invWindowAspect, 1f, 1f); //then multiply by a scale matrix that scales all renderings with 1 / <window aspect>

            //visualize (-1, -1) to (1, 1) range
            GL.Color3(0.2f, 0.5f, 0.2f);
            DrawTools.DrawTexturedRect(new Box2D(-1, -1, 2, 2), Box2D.BOX01);

            GL.Color3(1f, 1f, 1f);
            foreach (var box in shapes)
            {
                DrawTools.DrawTexturedRect(box, Box2D.BOX01);
            }
        }
Exemplo n.º 28
0
        private void Print_PrintPage(object sender, PrintPageEventArgs e)
        {
            var document = sender as GlassGoodsPrintDocument;

            if (document != null)
            {
                GoodsBarcodeInfo currentGoodsBarcodeInfo = document.CurrentGoodsBarcodeInfo;
                var goodsInfo = new DrawGoodsInfo
                {
                    GoodsCode = currentGoodsBarcodeInfo.GoodsCode,
                    GoodsName = currentGoodsBarcodeInfo.GoodsName,
                    SellPrice = currentGoodsBarcodeInfo.SellPrice
                };
                Image image = document.DrawLabel.DrawToImage(goodsInfo);
                e.Graphics.DrawImage(image, DrawTools.Millimeter2Pix(1f), DrawTools.Millimeter2Pix(1f), DrawTools.Millimeter2Pix(document.DrawLabel.Width), DrawTools.Millimeter2Pix(document.DrawLabel.Height));
            }
        }
Exemplo n.º 29
0
        internal void DoUpdate(Vector3 v3)
        {
            if (_dcm == null)
            {
                return;
            }

            transform.position = _dcm._camera._moduleDockingNodeGameObject.transform.position;

            transform.rotation  = _dcm.part.transform.rotation * Quaternion.LookRotation(_dcm.cameraForward, _dcm.cameraUp);
            transform.position += _dcm._camera._moduleDockingNodeGameObject.transform.rotation * v3;

            _dcm._camera._moduleDockingNodeGameObject.transform.position = transform.position;
            _dcm._camera._moduleDockingNodeGameObject.transform.rotation = transform.rotation;

            DrawTools.DrawArrow(transform.position, transform.forward, Color.red);
        }
Exemplo n.º 30
0
        public void DrawCross()
        {
            Vector2 pointerScreenPosition;
            Vector3 pointerWolrdPosition;

            GetWorldPointerPosition(out pointerScreenPosition, out pointerWolrdPosition);
            //Vector2 pointerViewportPosition = cam.ScreenToViewportPoint(pointerScreenPosition);
            DrawTools.LineColor = crossColor;

            Vector2 modifiedPointerPosition    = cam.WorldToScreenPoint(new Vector2(Mathf.Round(pointerWolrdPosition.x), pointerWolrdPosition.y));
            Vector2 camToViewportFromXToTop    = new Vector2(modifiedPointerPosition.x, cam.pixelRect.yMin);
            Vector2 camToViewportFromXToBottom = new Vector2(modifiedPointerPosition.x, cam.pixelRect.yMax);

            //Магнитизм к X. Необходимо будет переписать
            DrawTools.DrawOnePixelLine(modifiedPointerPosition, camToViewportFromXToTop, true);
            DrawTools.DrawOnePixelLine(modifiedPointerPosition, camToViewportFromXToBottom, true);
            DrawTools.DrawOnePixelLine(modifiedPointerPosition, new Vector2(cam.pixelRect.xMin, pointerScreenPosition.y), true);
            DrawTools.DrawOnePixelLine(modifiedPointerPosition, new Vector2(cam.pixelRect.xMax, pointerScreenPosition.y), true);
        }
Exemplo n.º 31
0
        public void OnGUI()
        {
            if (styleTransform == null)
            {
                styleTransform          = new GUIStyle(GUI.skin.label);
                styleTransform.fontSize = 16;

                if (monoSpaceFont != null)
                {
                    styleTransform.font = monoSpaceFont;
                }
            }

            DrawTools.NewFrame();

            if (showUI && currentDisplayedObject && mode != Mode.UI)
            {
                DrawLabels(currentDisplayedObject);
            }
        }
Exemplo n.º 32
0
 void AddLine(UnitPoint point, DrawTools.Line line)
 {
     if (m_originalLines.ContainsKey(line) == false)
     {
         line.Highlighted = true;
         LinePoints lp = new LinePoints();
         lp.SetLine(line);
         lp.MousePoint = point;
         m_originalLines.Add(line, lp);
     }
 }
Exemplo n.º 33
0
 void RemoveLine(DrawTools.Line line)
 {
     if (m_originalLines.ContainsKey(line))
     {
         m_originalLines[line].Line.Highlighted = false;
         m_originalLines.Remove(line);
     }
 }
Exemplo n.º 34
0
 public void SetLine(DrawTools.Line l)
 {
     m_line = l;
     m_p1 = l.P1;
     m_p2 = l.P2;
 }