/// <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); } }
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(); }
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; }
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(); }
//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(); }
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()); }
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(); }
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); }
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(); }
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); }
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"); }
//画图 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; } } }
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; }
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(); } }
void tsBase_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; GraphicHelper.DrawImageWithoutBorder(g, TrueToolbarImage, new Rectangle(new Point(0, 0), tsBase.Size)); }
void ssBase_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; GraphicHelper.DrawImageWithoutBorder(g, TrueStatusBar, new Rectangle(new Point(0, 0), ssBase.Size)); }
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"); }
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); } }
//画图 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); }
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); } }
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; }