Exemple #1
0
        /// <summary>
        /// 预览按钮处理。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Preview(object sender, RoutedEventArgs e)
        {
            try
            {
                // 生成边坡实体集合,按实体边界获取截取窗口。
                previewEnts = MakeBianpo(view);
                var extents = new AcDb.Extents3d();
                foreach (var ent in previewEnts.OfType <AcDb.Curve>())
                {
                    extents.AddExtents(ent.GeometricExtents);
                }
                previewExtents = extents;

                // 生成Bitmap,显示到界面的图片上。
                using (var bitmap = GraphicHelper.Snapshort(previewEnts,
                                                            kPreviewImageWidth, kPreviewImageHeight,
                                                            previewExtents.MinPoint, previewExtents.MaxPoint))
                {
                    ShowImage(bitmap);
                }
            }
            catch (Exception ex)
            {
                ShowError(ex);
            }
        }
Exemple #2
0
        private void PopulationChart_Paint(object sender, PaintEventArgs e)
        {
            if (gs == null)
            {
                return;
            }
            if (gs.Population.Chromosomes.Count == 0)
            {
                return;
            }

            List <object> domain_values = new List <object>();

            foreach (char ch in letters)
            {
                domain_values.Add(ch);
            }

            var gene_bars = GraphicHelper.GeneratePoolGraph(gs.Population, domain_values, PopulationChart.Width, PopulationChart.Height, 0.6f, 0.4f);

            foreach (KeyValuePair <RectangleF, Brush> kvp in gene_bars)
            {
                e.Graphics.FillRectangle(kvp.Value, kvp.Key);
            }
        }
        private void btnPrintPreview_Click(object sender, RoutedEventArgs e)
        {
            Screen screen = (Screen)cmbxScreenList.SelectedItem;

            Bitmap bmp = new Bitmap(txtbPreviewPath.Text);

            Point[] points = GraphicHelper.ComputeTargetPoints(new Size(800, 601), new Size(bmp.Width, bmp.Height), Rotation.DEG_0);

            Bitmap bmpResized = new Bitmap(800, 601);

            using (Graphics gr = Graphics.FromImage(bmpResized))
            {
                gr.DrawImage(bmp, points);
            }

            grayData = GrayScaleConverter.ConvertToGrayscale(bmpResized, GrayScaleConverter.ConvertionMethod.AverageBT601, 8);

            grayData = GrayScaleConverter.DitherSierraLight(grayData, 8, bmpResized.Width, bmpResized.Height);

            grayData = GrayScaleConverter.ReverseGrayScale(grayData, 8);

            grayData = GrayScaleConverter.CompactArray(grayData, 8);

            screen.SendImageBuffer(8, grayData);

            screen.DrawBuffer();
        }
Exemple #4
0
        public override Bitmap GetNextGraphic(Screen target)
        {
            Image source = Image.FromFile(_filesPaths[_pos]);

            Bitmap newImage = new Bitmap(Screen.Width, Screen.Height);

            using (Graphics gr = Graphics.FromImage(newImage))
            {
                gr.SmoothingMode     = SmoothingMode.HighQuality;
                gr.InterpolationMode = InterpolationMode.HighQualityBilinear;
                gr.PixelOffsetMode   = PixelOffsetMode.HighQuality;

                gr.Clear(Color.White);

                var points = GraphicHelper.ComputeTargetPoints(new Size(Screen.Width, Screen.Height),
                                                               new Size(source.Width, source.Height), target.Rotation);

                //gr.DrawPolygon(new Pen(Color.Crimson),points );

                gr.DrawImage(source, points);

                gr.Save();
            }

            _pos++;

            if (_pos >= _filesPaths.Length)
            {
                _pos = 0;
            }

            return(newImage);
        }
 public AccordionComponentAdapt(string parentId, Accordion inputComponent) : base(parentId, inputComponent)
 {
     Body  = inputComponent.Description;
     Items = inputComponent.AccordionItems.Select(m => new AccordionItemAdapt()
     {
         Graphic = GraphicHelper.GetSimpleGraphic(m.Image),
         Title   = m.Title,
         Body    = m.Text
     }).ToList();
 }
	void Awake()
	{
		// Register the singleton
		if (Instance != null)
		{
			Debug.LogError("Multiple instances of SpecialEffectsHelper!");
		}

		Instance = this;
	}
Exemple #7
0
 public NarrativeComponentAdapt(string parentId, Narrative inputComponent) : base(parentId, inputComponent)
 {
     Body            = inputComponent.Intro;
     SetCompletionOn = GetCompletion(YesOptionHelper.IsYesOptionChecked(inputComponent.RequireAllItemsBeSeen));
     Items           = inputComponent?.NarrativeItems.Select(m => new NarrativeComponentItem()
     {
         Title   = m.Title,
         Body    = m.Text,
         Graphic = GraphicHelper.GetSimpleGraphic(m.Image)
     }).ToList();
 }
Exemple #8
0
        //http://wpdev.sourceforge.net/docs/formats/csharp/art.html
        //https://uo.stratics.com/heptazane/fileformats.shtml#3.3


        static void Main(string[] args)
        {
            Stopwatch w = Stopwatch.StartNew();

            FileManager.UoFolderPath = @"E:\Giochi\Ultima Online Classic ORION";
            FileManager.LoadFiles();


            Map.Malas.Load();

            var aadwa = Map.Malas.Tiles.GetLandTile(944 >> 8, 480 >> 8);

            ushort[] pixels     = Art.ReadStaticArt(0x206A, out short width, out short height);
            ushort[] landpixels = Art.ReadLandArt(3);

            GraphicHelper.HasBody(46);

            int hue = 38;
            // 1254 = wild tiger
            //var animation = Animations.GetAnimation(1421, 0, 0, ref hue);

            /*var animation1 = Animations.GetAnimation(1253, 0, 0, ref hue);
            *  var animation2 = Animations.GetAnimation(1250, 0, 0, ref hue);*/

            var a = Fonts.GetASCII(0).GetChar('A');

            ushort[] pixelsgump = Gumps.GetGump(0x1393, out int widthgump, out int heightgump);

            Map.Felucca.Load();
            int x = 1201;
            int y = 1694;

            for (int i = 0, oy = y; i < 10; i++, oy++)
            {
                for (int j = 0, ox = x; j < 10; j++, ox++)
                {
                    var aa = Map.Felucca.GetRenderedBlock(ox, oy, 24, 24);
                }
            }

            Map.Felucca.Unload();

            Map.Malas.Load();
            x = 644;
            y = 480;
            var aaa = Map.Malas.GetRenderedBlock(x, y, 24, 24);

            // MultiComponentList components = Multi.GetMulti(50);

            var skill = Skills.GetSkill(2);

            Console.WriteLine(w.ElapsedMilliseconds + " ms");
            Console.ReadLine();
        }
Exemple #9
0
        private void GenerateVirtualTextures()
        {
            _shopGumpParts = new UOTexture[12];
            UOTexture t = FileManager.Gumps.GetTexture(0x0870);

            UOTexture[][] splits = new UOTexture[4][];

            splits[0] = GraphicHelper.SplitTexture16(t,
                                                     new int[3, 4]
            {
                { 0, 0, t.Width, 64 },
                { 0, 64, t.Width, 124 },
                { 0, 124, t.Width, t.Height - 124 }
            });
            t = FileManager.Gumps.GetTexture(0x0871);

            splits[1] = GraphicHelper.SplitTexture16(t,
                                                     new int[3, 4]
            {
                { 0, 0, t.Width, 64 },
                { 0, 64, t.Width, 94 },
                { 0, 94, t.Width, t.Height - 94 }
            });
            t = FileManager.Gumps.GetTexture(0x0872);

            splits[2] = GraphicHelper.SplitTexture16(t,
                                                     new int[3, 4]
            {
                { 0, 0, t.Width, 64 },
                { 0, 64, t.Width, 124 },
                { 0, 124, t.Width, t.Height - 124 }
            });
            t = FileManager.Gumps.GetTexture(0x0873);

            splits[3] = GraphicHelper.SplitTexture16(t,
                                                     new int[3, 4]
            {
                { 0, 0, t.Width, 64 },
                { 0, 64, t.Width, 94 },
                { 0, 94, t.Width, t.Height - 94 }
            });

            for (int i = 0, idx = 0; i < splits.Length; i++)
            {
                for (int ii = 0; ii < splits[i].Length; ii++)
                {
                    _shopGumpParts[idx++] = splits[i][ii];
                }
            }
        }
        RenderTexture GetPostTexture(Texture source)
        {
            int id = source.GetInstanceID();

            if (mPostTexture != null && id != mPostTexId)
            {
                ReleasePostTexture();
            }
            if (mPostTexture == null)
            {
                mPostTexId   = id;
                mPostTexture = RenderTexture.GetTemporary(source.width, source.height);
                GraphicHelper.Blur(source, mPostTexture, m_BlurStep, m_BlurIters);
            }
            return(mPostTexture);
        }
 public List <PageAdapt> GetPages(List <Page> inputPages)
 {
     return(inputPages.Select(m => new PageAdapt()
     {
         Articles = m.Sections.ToList(),
         Id = m.System.Id,
         ParentId = DefaultPageParentId,
         Body = m.Text,
         Duration = m.Duration,
         Instructions = m.Instructions,
         LinkText = m.LinkText,
         PageBody = m.Text,
         Graphic = GraphicHelper.GetSimpleGraphic(m.Image),
         Title = m.Title,
         DisplayTitle = m.DisplayTitle
     }).ToList());
 }
Exemple #12
0
        public void loadMap(Map map)
        {
            panel1.Controls.Clear();
            GraphicHelper gr = new GraphicHelper(panel1.Width, panel1.Height);
            panel1.BackgroundImage = gr.flush();

            solarsystemMap.Clear();
            refferenzTable.Clear();
            refferenzTable2.Clear();
            randomArea = null;
            randomArea = map.randomArea;
            randomAreaReady = true;

            Systemcount.Text = map.systemcount.ToString();
            Min_distance.Text = map.min_distance.ToString();

            List<Solarsystem> systems = map.solarsystems;

            foreach (Solarsystem system in systems)
            {

                PictureBox picture = new PictureBox();
                panel1.Controls.Add(picture);
                picture.Image = getImage("sun");
                picture.Left = system.x;
                picture.Top = system.y;
                picture.Width = picture.Image.Width;
                picture.Height = picture.Image.Height;
                picture.Visible = true;

                picture.MouseClick += new MouseEventHandler(picture_Click);

                solarsystemMap.Add(system);

                refferenzTable.Add(picture, system);
                refferenzTable2.Add(system, picture);

            }

            checkNodes();
            printConnections();
        }
Exemple #13
0
        public void tssBase_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            //先画背景
            IMyContainer imctl = (IMyContainer)skinEng.GetInterface(tssBase.Owner);

            g.TranslateTransform(2, 2);
            imctl.InvokePaintBackground(tssBase, e);
            g.ResetClip();

            Rectangle drawRect = new Rectangle();

            drawRect.X      = (tssBase.Width - ToolStripSeparatorImage.Width) / 2;
            drawRect.Y      = 0;
            drawRect.Width  = ToolStripSeparatorImage.Width;
            drawRect.Height = tssBase.Height;

            //画分隔条
            GraphicHelper.DrawImageWithoutBorder(g, TrueToolStripSeparatorImage, drawRect);
        }
Exemple #14
0
        private void printConnections(MouseEventArgs e = null)
        {
            GraphicHelper graphic = new GraphicHelper(panel1.Width, panel1.Height);
            List<Node> allreadydrawn = new List<Node>();

            foreach (Solarsystem system in solarsystemMap)
            {
                foreach (Node node in system.nodes)
                {
                    if (!allreadydrawn.Contains(node))
                    {
                        allreadydrawn.Add(node);

                        graphic.drawLine(Color.Black, node.pointa.x, node.pointa.y, node.pointb.x, node.pointb.y);

                    }
                }

            }

            if ((randomAreaReady) && (randomArea != null))
            {
                graphic.drawLine(Color.Orange, randomArea.x1, randomArea.y1, randomArea.x1, randomArea.y2);
                graphic.drawLine(Color.Orange, randomArea.x1, randomArea.y1, randomArea.x2, randomArea.y1);

                graphic.drawLine(Color.Orange, randomArea.x2, randomArea.y2, randomArea.x1, randomArea.y2);
                graphic.drawLine(Color.Orange, randomArea.x2, randomArea.y2, randomArea.x2, randomArea.y1);

            }

            if ((randomArea != null) && (e != null) && !randomAreaReady)
            {
                graphic.drawLine(Color.Orange, randomArea.x1, randomArea.y1, randomArea.x1, e.Y);
                graphic.drawLine(Color.Orange, randomArea.x1, randomArea.y1, e.X, randomArea.y1);

                graphic.drawLine(Color.Orange, e.X, e.Y, randomArea.x1, e.Y);
                graphic.drawLine(Color.Orange, e.X, e.Y, e.X, randomArea.y1);
            }

            panel1.BackgroundImage = graphic.flush();
        }
Exemple #15
0
        private void DrawScrollbar()
        {
            Graphics g = Graphics.FromImage(bmp);

            Point pt = Form.MousePosition;

            pt = vsbBase.PointToClient(pt);
            //背景
            GraphicHelper.DrawImageWithoutBorder(g, TrueBackImage, new Rectangle(new Point(0, 0), vsbBase.Size));

            //上方按钮
            int topButtonIndex = 0;

            if (TopButtonRect.Contains(pt) && MouseDownIndex == 0)
            {
                if (IsMouseDown)
                {
                    topButtonIndex = 2;
                }
                else
                {
                    topButtonIndex = 1;
                }
            }
            //正方按钮
            int bottomButtonIndex = 0;

            if (BottomButtonRect.Contains(pt) && MouseDownIndex == 4)
            {
                if (IsMouseDown)
                {
                    bottomButtonIndex = 2;
                }
                else
                {
                    bottomButtonIndex = 1;
                }
            }
            //滚动按钮
            int scrollButtonIndex = 0;

            if (ScrollButtonRect.Contains(pt) && MouseDownIndex == 2)
            {
                if (IsMouseDown)
                {
                    scrollButtonIndex = 2;
                }
                else
                {
                    scrollButtonIndex = 1;
                }
            }

            if (TopButtonRects != null)
            {
                for (int i = 0; i <= TopButtonRects.Length - 1; i++)
                {
                    GraphicHelper.DrawImageWithoutBorder(g, TrueTopButtonImages[topButtonIndex, i], TopButtonRects[i]);
                    GraphicHelper.DrawImageWithoutBorder(g, TrueBottomButtonImages[bottomButtonIndex, i], BottomButtonRects[i]);
                    GraphicHelper.DrawImageWithoutBorder(g, TrueScrollButtonImages[scrollButtonIndex, i], ScrollButtonRects[i]);
                }
            }

            g = FakeScrollBar.CreateGraphics();
            g.DrawImage(bmp, 0, 0);
        }
Exemple #16
0
        private void page8_select_SelectedIndexChanged(object sender, EventArgs e)
        {
            PlanetClass selected = (PlanetClass)page8_select.SelectedItem;

            if (selected == null) return;

            page8_name.Text = selected.Name;

            page8_buildship.Items.Clear();
            foreach (ShipClass ship in data.getShipTypes())
            {
                page8_buildship.Items.Add(ship);
            }

            foreach (ShipClass ship in selected.buildship)
            {

                page8_buildship.SetItemChecked(page8_buildship.Items.IndexOf(ship), true);
            }

            setResourceOnPage(selected.create_res, page8_reslist);

            //Names:

            /*
            foreach (Panel panel in page3_names_panelList)
            {
                page3_names_list.Controls.Remove(panel);
                panel.Dispose();

            }
            */

            page8_bewohnbar.Checked = selected.bewohnbar;

            // Bild:

            GraphicHelper graphic = new GraphicHelper(page8_picture);
            graphic.drawCenterImage(selected.picture, page8_picture.Width);
            page8_picture.Image = graphic.flush();

            addEntry = false;
            changedValue = false;
            page8_status.Image = getImage("square");
        }
Exemple #17
0
        //画图
        public void tsbBase_Paint(object sender, PaintEventArgs e)
        {
            //先画背景
            IMyContainer imctl = (IMyContainer)skinEng.GetInterface(tsbBase.Owner);

            imctl.InvokePaintBackground(tsbBase, e);

            Graphics g          = e.Graphics;
            int      imageIndex = 0;

            if (IsMouseOn)
            {
                if (IsMouseDown)
                {
                    imageIndex = 2;
                }
                else
                {
                    imageIndex = 1;
                }
            }
            else
            {
                imageIndex = 0;
            }

            if (!tsbBase.Enabled)
            {
                imageIndex = 0;
            }


            //画按钮图片
            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftTopImages[imageIndex], ButtonRects[0]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueTopImages[imageIndex], ButtonRects[1]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightTopImages[imageIndex], ButtonRects[2]);

            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftImages[imageIndex], ButtonRects[3]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueCenterImages[imageIndex], ButtonRects[4]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightImages[imageIndex], ButtonRects[5]);

            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftBottomImages[imageIndex], ButtonRects[6]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueBottomImages[imageIndex], ButtonRects[7]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightBottomImages[imageIndex], ButtonRects[8]);

            //准备工作
            StringFormat sf = new StringFormat();

            sf.Alignment     = StringAlignment.Center;
            sf.LineAlignment = StringAlignment.Center;
            sf.FormatFlags   = StringFormatFlags.NoWrap;

            SolidBrush sb = null;
            Color      textColor;

            Rectangle  rect  = new Rectangle(new Point(0, 0), tsbBase.Size);
            RectangleF rectF = new RectangleF(new Point(0, 0), tsbBase.Size);

            string displayText = GraphicHelper.GetAppropriateString(g, tsbBase.Text.Replace("&", string.Empty), tsbBase.Font, rectF);
            //文字大小
            SizeF stringSize = g.MeasureString(displayText, tsbBase.Font);


            Image toDrawImage;

            if (tsbBase.Enabled)
            {
                int hue, sat, bri;
                ColorHelper.RGB2HSB(skinEng.BackColor, out hue, out sat, out bri);
                textColor   = ColorHelper.HSB2RGBColor(hue, sat, 49);
                toDrawImage = tsbBase.Image;
            }
            else
            {
                imageIndex = 0;

                textColor   = Color.DarkGray;
                toDrawImage = ImageHelper.RemoveColor(tsbBase.Image);
            }
            //画背景图片
            if (tsbBase.BackgroundImage != null)
            {
                GraphicHelper.DrawImage(g, tsbBase.BackgroundImage, rect, tsbBase.BackgroundImageLayout);
            }

            sb = new SolidBrush(textColor);
            //画前景
            switch (tsbBase.DisplayStyle)
            {
            case ToolStripItemDisplayStyle.Image:
            {
                if (tsbBase.Image != null)
                {
                    GraphicHelper.DrawImage(g, toDrawImage, rect, ImageLayout.Center);
                }
                break;
            }

            case ToolStripItemDisplayStyle.Text:
            {
                g.DrawString(displayText, tsbBase.Font, sb, rectF, sf);
                break;
            }

            case ToolStripItemDisplayStyle.None:
            {
                break;
            }

            case ToolStripItemDisplayStyle.ImageAndText:
            {
                if (tsbBase.Image == null)
                {
                    g.DrawString(displayText, tsbBase.Font, sb, rectF, sf);
                }
                else
                {
                    int        totalWidth = (int)stringSize.Width + tsbBase.Image.Width;
                    Rectangle  rectImage  = new Rectangle((tsbBase.Width - totalWidth) / 2, (tsbBase.Height - tsbBase.Image.Height) / 2, tsbBase.Image.Width, tsbBase.Image.Height);
                    RectangleF rectText   = new RectangleF(rectImage.Right, (tsbBase.Height - stringSize.Height) / 2, stringSize.Width, stringSize.Height);
                    g.DrawImage(toDrawImage, rectImage);
                    g.DrawString(displayText, tsbBase.Font, sb, rectText, sf);
                }
                break;
            }
            }
        }
Exemple #18
0
        private void page2_select_SelectedIndexChanged(object sender, EventArgs e)
        {
            ShipClass selected = (ShipClass)page2_select.SelectedItem;

            if (selected == null) return;

            page2_name.Text = selected.Name;

            page2_race.Items.Clear();
            foreach (Race race in data.getRaces())
            {
                page2_race.Items.Add(race);
            }

            foreach (Race race in selected.race)
            {

                page2_race.SetItemChecked(page2_race.Items.IndexOf(race), true);
            }

            page2_skills.Items.Clear();
            foreach (Skill skills in data.getSkills())
            {
                if (skills.ship)
                    page2_skills.Items.Add(skills);
            }

            foreach (Skill skills in selected.skills)
            {

                page2_skills.SetItemChecked(page2_skills.Items.IndexOf(skills), true);
            }

            page2_needs.Items.Clear();
            foreach (Tech tech in data.getTechs())
            {
                page2_needs.Items.Add(tech);
            }

            foreach (Tech need in selected.need_tech)
            {

                page2_needs.SetItemChecked(page2_needs.Items.IndexOf(need), true);
            }

            page2_time.Text = selected.time.ToString();
            page2_limit.Text = selected.globallimit.ToString();
            page2_speed.Text = selected.speed.ToString();

            setResourceOnPage(selected.price, page2_reslist);

            page2_power.Text = selected.power.ToString();
            page2_power2.Text = selected.power2.ToString();
            page2_power3.Text = selected.power3.ToString();
            page2_power4.Text = selected.power4.ToString();

            page2_resistend1.Text = selected.resistend1.ToString();
            page2_resistend2.Text = selected.resistend2.ToString();
            page2_resistend3.Text = selected.resistend3.ToString();
            page2_resistend4.Text = selected.resistend4.ToString();

            page2_health.Text = selected.health.ToString();

            //Names:

            page2_namelist.Clear();

            // Bild:

            GraphicHelper graphic = new GraphicHelper(page2_picture);

            graphic.drawRescaleImage(selected.picture, page2_picture.Width, 0, 0);
            page2_picture.Image = graphic.flush();

            String[] names = selected.names.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries);

            page2_namelist.setContent(names);

            changedValue = false;
            page2_status.Image = getImage("square");
            addEntry = false;
        }
Exemple #19
0
        private void page3_image_search_Click(object sender, EventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();
            open.Filter = "Bilder | *.jpg;*.png;*.bmp";

            if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {

                FileStream stream = File.OpenRead(open.FileName);
                byte[] buffer = new byte[stream.Length];
                stream.Read(buffer, 0, (int)stream.Length);

                GraphicHelper graphic = new GraphicHelper(page3_picture);
                graphic.drawCenterImage(GraphicHelper.getPicture(buffer), page3_picture.Width);
                page3_picture.Image = graphic.flush();

            }
        }
Exemple #20
0
        void tsBase_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            GraphicHelper.DrawImageWithoutBorder(g, TrueToolbarImage, new Rectangle(new Point(0, 0), tsBase.Size));
        }
Exemple #21
0
        void ssBase_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            GraphicHelper.DrawImageWithoutBorder(g, TrueStatusBar, new Rectangle(new Point(0, 0), ssBase.Size));
        }
Exemple #22
0
        private void page3_select_SelectedIndexChanged(object sender, EventArgs e)
        {
            StationClass selected = (StationClass)page3_select.SelectedItem;

            if (selected == null) return;

            page3_name.Text = selected.Name;

            page3_race.Items.Clear();
            foreach (Race race in data.getRaces())
            {
                page3_race.Items.Add(race);
            }

            foreach (Race race in selected.race)
            {

                page3_race.SetItemChecked(page3_race.Items.IndexOf(race), true);
            }

            page3_skills.Items.Clear();
            foreach (Skill skills in data.getSkills())
            {
                if (skills.stat)
                    page3_skills.Items.Add(skills);
            }

            foreach (Skill skills in selected.skills)
            {

                page3_skills.SetItemChecked(page3_skills.Items.IndexOf(skills), true);
            }

            page3_need_tech.Items.Clear();
            foreach (Tech tech in data.getTechs())
            {
                page3_need_tech.Items.Add(tech);
            }

            foreach (Tech need in selected.need_tech)
            {

                page3_need_tech.SetItemChecked(page3_need_tech.Items.IndexOf(need), true);
            }

            page3_buildship.Items.Clear();
            foreach (ShipClass ship in data.getShipTypes())
            {
                page3_buildship.Items.Add(ship);
            }

            foreach (ShipClass ship in selected.buildship)
            {

                page3_buildship.SetItemChecked(page3_buildship.Items.IndexOf(ship), true);
            }

            page3_time.Text = selected.time.ToString();
            page3_limit.Text = selected.limit.ToString();
            page3_globallimit.Text = selected.globallimit.ToString();

            if (selected.updateto != null)
            {
                page3_update.SelectedItem = selected.updateto;
            }
            else
            {
                page3_update.SelectedItem = keinUpdate;
            }

            page3_population.Text = selected.population.ToString();

            setResourceOnPage(selected.create_res, page3_res_create);
            setResourceOnPage(selected.price, page3_costs);

            page3_power.Text = selected.power.ToString();
            page3_power2.Text = selected.power2.ToString();
            page3_power3.Text = selected.power3.ToString();
            page3_power4.Text = selected.power4.ToString();

            page3_resistend1.Text = selected.resistend1.ToString();
            page3_resistend2.Text = selected.resistend2.ToString();
            page3_resistend3.Text = selected.resistend3.ToString();
            page3_resistend4.Text = selected.resistend4.ToString();

            page3_health.Text = selected.health.ToString();

            page3_names.Clear();
            page3_needlist.Clear();

            // Bild:

            GraphicHelper graphic = new GraphicHelper(page3_picture);
            graphic.drawCenterImage(selected.picture, page3_picture.Width);
            page3_picture.Image = graphic.flush();

            String[] names = selected.names.Split(new string[] { ", " }, StringSplitOptions.None);

            page3_names.setContent(names);

            page3_needlist.OnStringListClick +=new EventHandler<StringList.StringListClickEvent>(page3_needs_delete);

            page3_needs_EntryList = selected.need;

            foreach (System.Collections.DictionaryEntry entry in selected.need)
            {
                page3_needlist.Add(((int)entry.Value).ToString() + "X " + ((StationClass)entry.Key).Name, entry.Key);

            }

            addEntry = false;
            changedValue = false;
            page3_status.Image = getImage("square");
        }
Exemple #23
0
        private void DrawScrollbar()
        {
            Graphics g = Graphics.FromImage(bmpBuffer);

            Point pt = Form.MousePosition;

            pt = hsbBase.PointToClient(pt);
            //背景
            GraphicHelper.DrawImageWithoutBorder(g, TrueBackImage, new Rectangle(new Point(0, 0), hsbBase.Size));

            //左按钮
            int leftButtonIndex = 0;

            if (LeftButtonRect.Contains(pt) && MouseDownIndex == 0)
            {
                if (IsMouseDown)
                {
                    leftButtonIndex = 2;
                }
                else
                {
                    leftButtonIndex = 1;
                }
            }
            //右按钮
            int rightButtonIndex = 0;

            if (RightButtonRect.Contains(pt) && MouseDownIndex == 4)
            {
                if (IsMouseDown)
                {
                    rightButtonIndex = 2;
                }
                else
                {
                    rightButtonIndex = 1;
                }
            }
            //滚动按钮
            int scrollButtonIndex = 0;

            if (ScrollButtonRect.Contains(pt) && MouseDownIndex == 2)
            {
                if (IsMouseDown)
                {
                    scrollButtonIndex = 2;
                }
                else
                {
                    scrollButtonIndex = 1;
                }
            }

            for (int i = 0; i <= LeftButtonRects.Length - 1; i++)
            {
                GraphicHelper.DrawImageWithoutBorder(g, TrueLeftButtonImages[leftButtonIndex, i], LeftButtonRects[i]);
                GraphicHelper.DrawImageWithoutBorder(g, TrueRightButtonImages[rightButtonIndex, i], RightButtonRects[i]);
                GraphicHelper.DrawImageWithoutBorder(g, TrueScrollButtonImages[scrollButtonIndex, i], ScrollButtonRects[i]);
            }

            g = FakeScrollBar.CreateGraphics();
            g.DrawImage(bmpBuffer, 0, 0);
        }
        public IEnumerator TestProperties()
        {
            var env  = GraphicTestEnvironment.Create();
            var root = env.CreateRoot(null);

            var obj = root.CreateChild("MyObject");

            obj.Name = "Lol object";
            Assert.AreEqual("Lol object", obj.Name);

            obj.X = 100f;
            obj.Y = 50f;
            Assert.AreEqual(100f, obj.X, Delta);
            Assert.AreEqual(50f, obj.Y, Delta);
            Assert.AreEqual(new Vector2(100f, 50f), obj.Position);

            obj.Width  = 20;
            obj.Height = 25;
            Assert.AreEqual(20, obj.Width, Delta);
            Assert.AreEqual(25, obj.Height, Delta);
            Assert.AreEqual(new Vector2(20f, 25f), obj.Size);

            obj.Position = new Vector2(10f, 20f);
            Assert.AreEqual(new Vector2(10f, 20f), obj.Position);
            Assert.AreEqual(10f, obj.X, Delta);
            Assert.AreEqual(20f, obj.Y, Delta);

            obj.RotationX = 5f;
            Assert.AreEqual(5f, obj.RotationX, Delta);
            obj.RotationX = 0f;

            obj.RotationY = 6f;
            Assert.AreEqual(6f, obj.RotationY, Delta);
            obj.RotationY = 0f;

            obj.RotationZ = 60f;
            Assert.AreEqual(60f, obj.RotationZ, Delta);
            obj.RotationZ = 0f;

            obj.Rotation = new Vector3(5f, 5f, 5f);
            Debug.Log("Rotation set to (5, 5, 5). Should be checked in inspector!");

            obj.ScaleX = 0.5f;
            obj.ScaleY = 0.75f;
            Assert.AreEqual(0.5f, obj.ScaleX, Delta);
            Assert.AreEqual(0.75f, obj.ScaleY, Delta);
            Assert.AreEqual(new Vector3(0.5f, 0.75f, 1f), obj.Scale);

            obj.Scale = new Vector3(1.1f, 1.2f, 1f);
            Assert.AreEqual(new Vector3(1.1f, 1.2f, 1f), obj.Scale);

            obj.Pivot = PivotType.TopRight;
            Assert.AreEqual(GraphicHelper.GetPivot(PivotType.TopRight), obj.RawTransform.pivot);

            obj.Anchor = AnchorType.BottomRight;
            Assert.AreEqual(GraphicHelper.GetMinAnchor(AnchorType.BottomRight), obj.RawTransform.anchorMin);
            Assert.AreEqual(GraphicHelper.GetMinAnchor(AnchorType.BottomRight), obj.RawTransform.anchorMax);

            obj.Depth = 100;
            Assert.AreEqual(100, obj.Depth);

            while (env.IsRunning)
            {
                yield return(null);
            }
        }
Exemple #25
0
        //画图
        void btnBase_Paint(object sender, PaintEventArgs e)
        {
            //Debug.Print("btnBase_Paint,ButtonText:" + btnBase.Text);
            Graphics g          = e.Graphics;
            int      imageIndex = 0;

            if (IsMouseOn)
            {
                if (IsMouseDown)
                {
                    imageIndex = 2;
                }
                else
                {
                    imageIndex = 1;
                }
            }
            else
            {
                imageIndex = 0;

#warning 当按钮得到焦点时
                //当按钮得到焦点时
                if (btnBase.Focused)
                {
                    imageIndex = 1;
                }
            }

            StringFormat sf = new StringFormat();
            sf.Alignment     = StringAlignment.Center;
            sf.LineAlignment = StringAlignment.Center;
            sf.FormatFlags   = StringFormatFlags.NoWrap;

            SolidBrush sb = null;

            Rectangle  rect  = ButtonRects[4];
            RectangleF rectF = ButtonRects[4];

            string displayText = GraphicHelper.GetAppropriateString(g, btnBase.Text.Replace("&", string.Empty), btnBase.Font, rectF);

            Color textColor;
            if (btnBase.Enabled)
            {
                textColor = ButtonTextColor;
            }
            else
            {
                imageIndex = 3;
                textColor  = ButtonDisableTextColor;
            }
            //画按钮图片
            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftTopImages[imageIndex], ButtonRects[0]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueTopImages[imageIndex], ButtonRects[1]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightTopImages[imageIndex], ButtonRects[2]);

            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftImages[imageIndex], ButtonRects[3]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueCenterImages[imageIndex], ButtonRects[4]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightImages[imageIndex], ButtonRects[5]);

            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftBottomImages[imageIndex], ButtonRects[6]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueBottomImages[imageIndex], ButtonRects[7]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightBottomImages[imageIndex], ButtonRects[8]);

            //画背景图片
            if (btnBase.BackgroundImage != null)
            {
                GraphicHelper.DrawImage(g, btnBase.BackgroundImage, rect, btnBase.BackgroundImageLayout);
            }
            //画前景图片
            if (btnBase.Image != null)
            {
                GraphicHelper.DrawImage(g, btnBase.Image, rect, btnBase.ImageAlign);
            }
            sb = new SolidBrush(textColor);
            g.DrawString(displayText, btnBase.Font, sb, rectF, sf);
        }
Exemple #26
0
        private void PreviewImage_MouseWheel(object sender, MouseWheelEventArgs e)
        {
            try
            {
                if (previewEnts == null)
                {
                    return;
                }

                // 在鼠标位置放大一倍。
                if (!isPreviewImageZooming && e.Delta > 0)
                {
                    isPreviewImageZooming = true;

                    // 将原预览实体范围扩展为与图片比例相同,以准确定位扩大点。
                    var minPoint     = previewExtents.MinPoint;
                    var maxPoint     = previewExtents.MaxPoint;
                    var origWidth    = maxPoint.X - minPoint.X;
                    var origHeight   = maxPoint.Y - minPoint.Y;
                    var origRatio    = origHeight > 0 ? (origWidth / origHeight) : 1;
                    var prevImgRatio = kPreviewImageWidth / kPreviewImageHeight;
                    if (origRatio > prevImgRatio) // 过宽。
                    {
                        var heightDiff = origWidth / prevImgRatio - origHeight;
                        minPoint = new Point3d(minPoint.X, minPoint.Y - heightDiff * 0.5, 0);
                        maxPoint = new Point3d(maxPoint.X, maxPoint.Y + heightDiff * 0.5, 0);
                    }
                    else if (origRatio < prevImgRatio) // 过高。
                    {
                        var widthDiff = origHeight * prevImgRatio - origWidth;
                        minPoint = new Point3d(minPoint.X - widthDiff * 0.5, minPoint.Y, 0);
                        maxPoint = new Point3d(maxPoint.X + widthDiff * 0.5, maxPoint.Y, 0);
                    }

                    // 获取缩放后的截取窗口。
                    var zoomPtOnImg = e.GetPosition(PreviewImage);
                    zoomPtOnImg = new System.Windows.Point(
                        zoomPtOnImg.X * kPreviewImageWidth / PreviewImage.ActualWidth,
                        zoomPtOnImg.Y * kPreviewImageHeight / PreviewImage.ActualHeight);
                    var zoomVec = maxPoint - minPoint;
                    var zoomPt  = new Point3d(
                        minPoint.X + zoomVec.X * zoomPtOnImg.X / kPreviewImageWidth,
                        maxPoint.Y - zoomVec.X * zoomPtOnImg.Y / kPreviewImageHeight,
                        0);

                    // 生成Bitmap,显示到界面的图片上。
                    using (var bitmap = GraphicHelper.Snapshort(previewEnts,
                                                                kPreviewImageWidth, kPreviewImageHeight,
                                                                zoomPt - zoomVec * 0.25, zoomPt + zoomVec * 0.25))
                    {
                        ShowImage(bitmap);
                    }
                }

                // 还原。
                if (isPreviewImageZooming && e.Delta < 0)
                {
                    isPreviewImageZooming = false;

                    // 生成Bitmap,显示到界面的图片上。
                    using (var bitmap = GraphicHelper.Snapshort(previewEnts,
                                                                kPreviewImageWidth, kPreviewImageHeight,
                                                                previewExtents.MinPoint, previewExtents.MaxPoint))
                    {
                        ShowImage(bitmap);
                    }
                }
            }
            catch (Exception ex)
            {
                ShowError(ex);
            }
        }
Exemple #27
0
        private void neuToolStripMenuItem_Click(object sender, EventArgs e)
        {
            panel1.Controls.Clear();
            GraphicHelper gr = new GraphicHelper(panel1.Width, panel1.Height);
            panel1.BackgroundImage = gr.flush();

            solarsystemMap.Clear();
            refferenzTable.Clear();
            refferenzTable2.Clear();
            randomArea = null;
            randomAreaReady = false;
        }