private void btn_equalization_Click(object sender, RoutedEventArgs e) { if (_primeBitmap == null) { MessageBox.Show("请选择图片"); return; } var numPixel = new int[256]; for (var i = 0; i < _primeBitmap.Height; i++) { for (var j = 0; j < _primeBitmap.Width; j++) { int x = _primeBitmap.GetPixel(j, i).R; numPixel[x]++; } } for (var i = 0; i < 256; i++) { Console.WriteLine(numPixel[i]); } var probPixel = new double[256]; for (var i = 0; i < 256; i++) { probPixel[i] = numPixel[i] / (_primeBitmap.Height * _primeBitmap.Width * 1.0); } var cumuPixel = new double[256]; for (var i = 0; i < 256; i++) { if (i == 0) { cumuPixel[i] = probPixel[i]; } else { cumuPixel[i] = cumuPixel[i - 1] + probPixel[i]; } } for (var i = 0; i < 256; i++) { cumuPixel[i] = cumuPixel[i] * 256 + 0.5; Console.WriteLine(@"pixel is :" + cumuPixel[i]); } for (var i = 0; i < _primeBitmap.Height; i++) { for (var j = 0; j < _primeBitmap.Width; j++) { int x = _primeBitmap.GetPixel(j, i).R; var value = (int)cumuPixel[x]; if (value > 255) { value = 255; } var color = Color.FromArgb(value, value, value); _primeBitmap.SetPixel(j, i, color); } } //for (int i = 0; i < prime_bitmap.Height; i++) //{ // for (int j = 0; j < prime_bitmap.Width; j++) // { // System.Drawing.Color color = prime_bitmap.GetPixel(j, i); // MessageBox.Show(color.ToString()); // } //} show_pic(); }
/// <summary> /// Draws all the physics bodies and UI elements. /// </summary> private unsafe void DrawFrame(TimeStep timeStep, FpsManager frameTimer) { var font = new Font("Verdana Bold", 14); var brush = new SolidBrush(Color.White); RectangleD cameraBounds = _camera.GetBounds(); IGravitationalBody target = _gravitationalBodies[_targetIndex]; var targetSpaceCraft = target as ISpaceCraft; // If openCL is supported render all cl bodies if (_renderingType == RenderingType.OpenCLHardware || _renderingType == RenderingType.OpenCLSoftware) { _gpuClear.RenderCl(_clProxy); foreach (MassiveBodyBase renderable in _massiveBodies) { if (renderable.Visibility(cameraBounds) > 0) { renderable.RenderCl(_clProxy, cameraBounds, _sun); } } int[] frameData = _clProxy.ReadIntBuffer("image", RenderUtils.ScreenArea); var rect = new Rectangle(0, 0, _imageBitmap.Width, _imageBitmap.Height); BitmapData bmpData = _imageBitmap.LockBits(rect, ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); Marshal.Copy(frameData, 0, bmpData.Scan0, RenderUtils.ScreenArea); var ptr = (byte *)bmpData.Scan0; // Hack to force full alpha for now for (int i = 0; i < RenderUtils.ScreenArea; i++) { ptr[i * 4 + 3] = 255; } _imageBitmap.UnlockBits(bmpData); } else { // Fall back to gdi for cl renderables using (var graphics = Graphics.FromImage(_imageBitmap)) { graphics.Clear(Color.Black); foreach (MassiveBodyBase renderable in _massiveBodies) { if (renderable.Visibility(cameraBounds) > 0) { renderable.RenderGdiFallback(graphics, cameraBounds, _sun); } } } } // Draw all orbit traces, spacecrafts, and GDI objects using (var graphics = Graphics.FromImage(_imageBitmap)) { graphics.SmoothingMode = SmoothingMode.HighSpeed; graphics.PixelOffsetMode = PixelOffsetMode.HighSpeed; graphics.CompositingQuality = CompositingQuality.HighSpeed; graphics.InterpolationMode = InterpolationMode.NearestNeighbor; RenderUtils.DrawLine(graphics, cameraBounds, new DVector2(0, -10e12), new DVector2(0, 10e12), Color.FromArgb(40, 255, 255, 255)); RenderUtils.DrawLine(graphics, cameraBounds, new DVector2(-10e12, 0), new DVector2(10e12, 0), Color.FromArgb(40, 255, 255, 255)); double apogee = 0; double perigee = 0; // Draw orbit traces foreach (MassiveBodyBase massiveBody in _massiveBodies) { if (massiveBody is Sun) { continue; } OrbitTrace trace = OrbitHelper.TraceMassiveBody(massiveBody); if (target == massiveBody) { apogee = trace.Apogee; perigee = trace.Perigee; } trace.Draw(graphics, cameraBounds, massiveBody); } // Draw structures foreach (StructureBase structure in _structures) { structure.RenderGdi(graphics, cameraBounds); } // Draw spacecraft foreach (SpaceCraftBase spaceCraft in _spaceCrafts) { if (spaceCraft.Visibility(cameraBounds) > 0) { RectangleD bounds = spaceCraft.ComputeBoundingBox(); // In range for render if (cameraBounds.IntersectsWith(bounds)) { spaceCraft.RenderGdi(graphics, cameraBounds); } } if (spaceCraft.Parent != null) { continue; } OrbitTrace trace = OrbitHelper.TraceSpaceCraft(spaceCraft); if (target == spaceCraft) { apogee = trace.Apogee; perigee = trace.Perigee; } trace.Draw(graphics, cameraBounds, spaceCraft); } var elapsedTime = TimeSpan.FromSeconds(_totalElapsedSeconds); int elapsedYears = elapsedTime.Days / 365; int elapsedDays = elapsedTime.Days % 365; graphics.DrawString("Elapsed Time: " + string.Format("Y: {0} D: {1} H: {2} M: {3} S: {4}", elapsedYears, elapsedDays, elapsedTime.Hours, elapsedTime.Minutes, elapsedTime.Seconds), font, brush, 5, 5); graphics.DrawString("Update Speed: " + timeStep.Multiplier + " X", font, brush, 5, 35); double altitude = target.GetRelativeAltitude(); graphics.DrawString("Altitude: " + UnitDisplay.Distance(altitude), font, brush, 5, 100); graphics.DrawString(string.Format("Target: {0}", target), font, brush, RenderUtils.ScreenWidth / 2 - 35, 5); graphics.DrawString("Relative Speed: " + UnitDisplay.Speed(target.GetRelativeVelocity().Length()), font, brush, 5, 225); graphics.DrawString("Relative Acceleration: " + UnitDisplay.Acceleration(target.GetRelativeAcceleration().Length()), font, brush, 5, 255); graphics.DrawString("Apogee: " + UnitDisplay.Distance(apogee), font, brush, 5, 320); graphics.DrawString("Perigee: " + UnitDisplay.Distance(perigee), font, brush, 5, 350); graphics.DrawString("Mass: " + UnitDisplay.Mass(target.Mass), font, brush, 5, 410); if (targetSpaceCraft != null) { graphics.DrawString("Thrust: " + UnitDisplay.Force(targetSpaceCraft.Thrust), font, brush, 5, 440); double downrangeDistance = targetSpaceCraft.GetDownrangeDistance(_strongback.Position); graphics.DrawString("Downrange: " + UnitDisplay.Distance(downrangeDistance), font, brush, 5, 130); double density = targetSpaceCraft.GravitationalParent.GetAtmosphericDensity(altitude); graphics.DrawString("Air Density: " + UnitDisplay.Density(density), font, brush, 5, 160); } graphics.DrawString("FPS: " + frameTimer.CurrentFps, font, brush, RenderUtils.ScreenWidth - 80, 5); } // Draw all GUI elements (higher quality) using (var graphics = Graphics.FromImage(_imageBitmap)) { graphics.SmoothingMode = SmoothingMode.HighQuality; double throttle = 0; if (targetSpaceCraft != null) { var throttleValues = new List <double>(); targetSpaceCraft.SumTotalThrottle(throttleValues); if (throttleValues.Count > 0) { throttle = throttleValues.Average(); } } foreach (IGauge gauge in _gauges) { if (targetSpaceCraft != null) { gauge.Update(_gravitationalBodies[_targetIndex].Rotation, throttle / 100.0); } gauge.Render(graphics, cameraBounds); } } }
/// <include file='doc\ColorConverter.uex' path='docs/doc[@for="ColorConverter.ConvertFrom"]/*' /> /// <devdoc> /// Converts the given object to the converter's native type. /// </devdoc> public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { string strValue = value as string; if (strValue != null) { object obj = null; string text = strValue.Trim(); if (text.Length == 0) { obj = Color.Empty; } else { // First, check to see if this is a standard name. // obj = GetNamedColor(text); if (obj == null) { if (culture == null) { culture = CultureInfo.CurrentCulture; } char sep = culture.TextInfo.ListSeparator[0]; bool tryMappingToKnownColor = true; TypeConverter intConverter = TypeDescriptor.GetConverter(typeof(int)); // If the value is a 6 digit hex number only, then // we want to treat the Alpha as 255, not 0 // if (text.IndexOf(sep) == -1) { // text can be '' (empty quoted string) if (text.Length >= 2 && (text[0] == '\'' || text[0] == '"') && text[0] == text[text.Length - 1]) { // In quotes means a named value string colorName = text.Substring(1, text.Length - 2); obj = Color.FromName(colorName); tryMappingToKnownColor = false; } else if ((text.Length == 7 && text[0] == '#') || (text.Length == 8 && (text.StartsWith("0x") || text.StartsWith("0X"))) || (text.Length == 8 && (text.StartsWith("&h") || text.StartsWith("&H")))) { // Note: ConvertFromString will raise exception if value cannot be converted. obj = Color.FromArgb(unchecked ((int)(0xFF000000 | (uint)(int)intConverter.ConvertFromString(context, culture, text)))); } } // Nope. Parse the RGBA from the text. // if (obj == null) { string[] tokens = text.Split(sep); int[] values = new int[tokens.Length]; for (int i = 0; i < values.Length; i++) { values[i] = unchecked ((int)intConverter.ConvertFromString(context, culture, tokens[i])); } // We should now have a number of parsed integer values. // We support 1, 3, or 4 arguments: // // 1 -- full ARGB encoded // 3 -- RGB // 4 -- ARGB // switch (values.Length) { case 1: obj = Color.FromArgb(values[0]); break; case 3: obj = Color.FromArgb(values[0], values[1], values[2]); break; case 4: obj = Color.FromArgb(values[0], values[1], values[2], values[3]); break; } tryMappingToKnownColor = true; } if ((obj != null) && tryMappingToKnownColor) { // Now check to see if this color matches one of our known colors. // If it does, then substitute it. We can only do this for "Colors" // because system colors morph with user settings. // int targetARGB = ((Color)obj).ToArgb(); foreach (Color c in Colors.Values) { if (c.ToArgb() == targetARGB) { obj = c; break; } } } } if (obj == null) { throw new ArgumentException(SR.Format(SR.InvalidColor, text)); } } return(obj); } return(base.ConvertFrom(context, culture, value)); }
public void DrawBitmap(Classes.Rendering.TextureExt image, int x, int y, int rect_x, int rect_y, int width, int height, bool selected, int Transparency, bool fliph = false, bool flipv = false, int rotation = 0, Color?color = null) { var LastTransform = sprite.Transform; Rectangle screen = _parent.GetScreen(); double zoom = _parent.GetZoom(); sprite.Transform = Matrix.Scaling((float)zoom, (float)zoom, 1f); Rectangle boundBox = new Rectangle(rect_x, rect_y, width, height); Vector3 position = new Vector3(x - (int)(screen.X / zoom), y - (int)(screen.Y / zoom), 0); Vector3 center = new Vector3(new float[] { 0, 0, 0 }); if (fliph || flipv || rotation != 0) { float negatedZoom = -(float)zoom; float normalZoom = (float)zoom; if (rotation != 0) { float center_x = (fliph ? (float)(width / 2) : (float)(width / 2)); float center_y = (flipv ? (float)(height / 2) : (float)(height / 2)); float position_x = (fliph ? position.X : position.X); float position_y = (flipv ? position.Y : position.Y); var scalingCenter = new Vector2(0, 0); var scalingRotation = 1f; var scaling = new Vector2(1f, 1f); var rotationCenter = new Vector2(center_x, center_y); var Rotation = (float)(rotation * (Math.PI / 180.0)); var translation = new Vector2(position_x, position_y); sprite.Transform = Matrix.Transformation2D(scalingCenter, scalingRotation, scaling, rotationCenter, Rotation, translation); position = Vector3.Zero; center = Vector3.Zero; //sprite.Transform *= Matrix.Scaling((fliph ? negatedZoom : normalZoom), (flipv ? negatedZoom : normalZoom), 1f); sprite.Transform *= Matrix.Scaling(normalZoom, normalZoom, 1f); } else { if (fliph) { position.X = -position.X; } if (flipv) { position.Y = -position.Y; } if (fliph) { center.X = boundBox.Width; } if (flipv) { center.Y = boundBox.Height; } sprite.Transform = Matrix.Scaling((fliph ? negatedZoom : normalZoom), (flipv ? negatedZoom : normalZoom), 1f); } } if (color != null) { DrawTexture(image, boundBox, center, position, Color.FromArgb(Transparency, color.Value)); } else { DrawTexture(image, boundBox, center, position, (selected) ? Color.BlueViolet : Color.FromArgb(Transparency, Color.White)); } sprite.Transform = LastTransform; }
private static void Drawing_OnDraw_PassiveTimes(EventArgs args) { var passiveBuffs = (from b in ObjectManager.Player.Buffs join b1 in CommonBuffManager.PassiveBuffs on b.DisplayName equals b1.BuffName select new { b, b1 }).Distinct(); foreach (var buffName in passiveBuffs) { //Game.PrintChat(buffName.b1.BuffName); for (int i = 0; i < passiveBuffs.Count(); i++) { if (buffName.b.EndTime >= Game.Time) { CommonGeometry.DrawBox(new Vector2(ObjectManager.Player.HPBarPosition.X + 10, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 32), 130, 6, Color.FromArgb(100, 255, 200, 37), 1, Color.Black); var buffTime = buffName.b.EndTime - buffName.b.StartTime; CommonGeometry.DrawBox(new Vector2(ObjectManager.Player.HPBarPosition.X + 11, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 33), (130 / buffTime) * (buffName.b.EndTime - Game.Time), 4, buffName.b1.Color, 1, buffName.b1.Color); TimeSpan timeSpan = TimeSpan.FromSeconds(buffName.b.EndTime - Game.Time); var timer = $"{timeSpan.Minutes:D2}:{timeSpan.Seconds:D2}"; CommonGeometry.DrawText(CommonGeometry.TextPassive, timer, ObjectManager.Player.HPBarPosition.X + 142, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 29, SharpDX.Color.Wheat); } } } foreach (var hero in HeroManager.AllHeroes) { var jungleBuffs = (from b in hero.Buffs join b1 in CommonBuffManager.JungleBuffs on b.DisplayName equals b1.BuffName select new { b, b1 }).Distinct(); foreach (var buffName in jungleBuffs.ToList()) { var nDiff1 = buffName.b.EndTime - buffName.b.StartTime < 10 ? (Game.Time - buffName.b.StartTime) * 10 : Game.Time - buffName.b.StartTime; var nDiff2 = buffName.b.EndTime - buffName.b.StartTime < 10 ? (buffName.b.EndTime - buffName.b.StartTime) * 10 : buffName.b.EndTime - buffName.b.StartTime; var circle1 = new CommonGeometry.Circle2(new Vector2(hero.Position.X + 3, hero.Position.Y - 3), 140 + (buffName.b1.Number * 20), nDiff1, nDiff2).ToPolygon(); circle1.Draw(Color.Black, 3); var circle = new CommonGeometry.Circle2(hero.Position.To2D(), 140 + (buffName.b1.Number * 20), nDiff1, nDiff2).ToPolygon(); circle.Draw(buffName.b1.Color, 3); } } }
private static void Game_OnGameLoad(EventArgs args) { Player = ObjectManager.Player; if (Player.BaseSkinName != ChampionName) { return; } Q = new Spell(SpellSlot.Q, 700); W = new Spell(SpellSlot.W, 0); E = new Spell(SpellSlot.E, 450); R = new Spell(SpellSlot.R, 0); SpellList.Add(Q); SpellList.Add(W); SpellList.Add(E); SpellList.Add(R); //menu Config = new Menu(ChampionName, ChampionName, true); //orbwalker Config.AddSubMenu(new Menu("Orbwalking", "Orbwalking")); Orbwalker = new Orbwalking.Orbwalker(Config.SubMenu("Orbwalking")); //ts var targetSelectorMenu = new Menu("Target Selector", "Target Selector"); SimpleTs.AddToMenu(targetSelectorMenu); Config.AddSubMenu(targetSelectorMenu); //combo menu Config.AddSubMenu(new Menu("Combo", "Combo")); Config.SubMenu("Combo").AddItem(new MenuItem("useQ", "Use Q").SetValue(true)); Config.SubMenu("Combo").AddItem(new MenuItem("useW", "Use W").SetValue(true)); Config.SubMenu("Combo").AddItem(new MenuItem("useE", "Use E").SetValue(true)); Config.SubMenu("Combo").AddItem(new MenuItem("useR", "Use R").SetValue(true)); Config.SubMenu("Combo").AddItem(new MenuItem("combo", "Combo").SetValue(new KeyBind(32, KeyBindType.Press))); //Extras //Config.AddSubMenu(new Menu("Extras", "Extras")); //Config.SubMenu("Extras").AddItem(new MenuItem("escape", "Ward Jump With Q").SetValue(new KeyBind("Z".ToCharArray()[0], KeyBindType.Press))); //needs to be done. //drawing Config.SubMenu("Drawings").AddItem(new MenuItem("QRange", "Q Range").SetValue(new Circle(true, Color.FromArgb(150, Color.DodgerBlue)))); Config.SubMenu("Drawings").AddItem(new MenuItem("ERange", "E Range").SetValue(new Circle(true, Color.FromArgb(150, Color.Azure)))); }
/// <summary> /// 初始化速度曲线 /// </summary> private void CreateVelocityChart() { //Create new _chartTemp _chartVelocity = new LightningChartUltimate(); //Disable rendering, strongly recommended before updating chart properties _chartVelocity.BeginUpdate(); //Reduce memory usage and increase performance. Destroys out-scrolled data. _chartVelocity.ViewXY.DropOldSeriesData = true; _chartVelocity.Parent = lightningChartUltimate3; _chartVelocity.Name = "Si prediction"; _chartVelocity.Title.Text = "铁水实时流速曲线"; _chartVelocity.Title.Color = PublicColor.FromArgb(255, Color.Yellow); _chartVelocity.Title.Font = new Font("黑体", 10, FontStyle.Bold); _chartVelocity.Dock = DockStyle.Fill; // Setup custom style. //ExampleUtils.SetStandardFlatStyle(_chartSi); _chartVelocity.Background.Color = PublicColor.FromArgb(255, Color.Gray); _chartVelocity.Background.GradientFill = GradientFill.Solid; //Configure x-axis AxisX xAxis = _chartVelocity.ViewXY.XAxes[0]; xAxis.ValueType = AxisValueType.DateTime; xAxis.Title.Text = "Time"; xAxis.AutoFormatLabels = false; //xAxis.LabelsTimeFormat = "dd/MM/yyyy\nHH:mm.ss"; xAxis.LabelsTimeFormat = "HH:mm.ss"; xAxis.LabelsAngle = 0; xAxis.ScrollMode = XAxisScrollMode.Scrolling; xAxis.LabelsFont = new Font("黑体", 6); xAxis.LabelsColor = PublicColor.FromArgb(255, Color.Yellow); xAxis.Visible = false; xAxis.Title.Visible = false; //Convert DateTime values to axis values DateTime now = DateTime.Now; double minX = xAxis.DateTimeToAxisValue(now); double maxX = xAxis.DateTimeToAxisValue(now) + 200; xAxis.SetRange(minX, maxX); //Configure y-axis AxisY yAxis = _chartVelocity.ViewXY.YAxes[0]; yAxis.Title.Text = "Si Predition"; yAxis.SetRange(4.5, 8); yAxis.LabelsFont = new Font("黑体", 6); yAxis.LabelsColor = PublicColor.FromArgb(255, Color.Yellow); yAxis.Title.Visible = false; //Configure and add series to the chart PointLineSeries series = new PointLineSeries(_chartVelocity.ViewXY, xAxis, yAxis); series.LineStyle.Color = Color.Yellow; series.MouseInteraction = false; _chartVelocity.ViewXY.PointLineSeries.Add(series); //Don't show legendbox _chartVelocity.ViewXY.LegendBoxes[0].Visible = false; //Allow chart rendering _chartVelocity.EndUpdate(); }
void InitPassiveBuffs() { #region Teleport PassiveBuffs.Add( new PassiveBuffs { ChampionName = "Teleport", BuffName = "Teleport", Color = Color.Bisque }); #endregion Zhonya #region Zhonya PassiveBuffs.Add( new PassiveBuffs { ChampionName = "Zhonya", BuffName = "Zhonyas Ring", Color = Color.Bisque }); #endregion Zhonya #region Aatrox PassiveBuffs.Add( new PassiveBuffs { ChampionName = "Aatrox", BuffName = "AatroxWONHLifeBuff", Color = Color.FromArgb(85, 4, 144) }); PassiveBuffs.Add( new PassiveBuffs { ChampionName = "Aatrox", BuffName = "AatroxPassiveActivate", Color = Color.FromArgb(85, 4, 144) }); #endregion Aatrox #region Anivia PassiveBuffs.Add( new PassiveBuffs { ChampionName = "Anivia Passive", BuffName = "Rebirth", Color = Color.FromArgb(85, 4, 144) }); PassiveBuffs.Add( new PassiveBuffs { ChampionName = "Anivia", BuffName = "RebirthCooldown", Color = Color.FromArgb(85, 4, 144) }); #endregion Anivia #region Volibear PassiveBuffs.Add( new PassiveBuffs { ChampionName = "Volibear", BuffName = "VolibearPassiveCD", Color = Color.Red }); #endregion Volibear #region Zac PassiveBuffs.Add( new PassiveBuffs { ChampionName = "Zac", BuffName = "ZacRebirthCooldown", Color = Color.FromArgb(85, 4, 144) }); PassiveBuffs.Add( new PassiveBuffs { ChampionName = "Zac", BuffName = "zacrebirthstart", Color = Color.FromArgb(85, 4, 144) }); #endregion Anivia }
private Color GenerateRandomColor() { return(Color.FromArgb(_rand.Next(256), _rand.Next(256), _rand.Next(256))); }
public CONExplorer(Color ButtonBackColor, Color ButtonTextColor, bool runningshortcut = false) { CheckForIllegalCrossThreadCalls = true; InitializeComponent(); mMenuBackground = contextMenuStrip1.BackColor; contextMenuStrip1.Renderer = new DarkRenderer(); picContent.AllowDrop = true; picPackage.AllowDrop = true; btnDTA.AllowDrop = true; btnMIDI.AllowDrop = true; btnMOGG.AllowDrop = true; btnPNG.AllowDrop = true; Tools = new NemoTools(); Parser = new DTAParser(); isRunningShortcut = runningshortcut; var formButtons = new List <Button> { btnExtract, btnSave, btnVisualize }; foreach (var button in formButtons) { button.BackColor = ButtonBackColor; button.ForeColor = ButtonTextColor; button.FlatAppearance.MouseOverBackColor = button.BackColor == Color.Transparent ? Color.FromArgb(127, Color.AliceBlue.R, Color.AliceBlue.G, Color.AliceBlue.B) : Tools.LightenColor(button.BackColor); } toolTip1.SetToolTip(picContent, "Click here to select the Content Image (visible in here)"); toolTip1.SetToolTip(picPackage, "Click here to select the Package Image (visible in the Xbox dashboard)"); toolTip1.SetToolTip(radioCON, "Click to save as CON when rebuilding"); toolTip1.SetToolTip(radioLIVE, "Click to save as LIVE when rebuilding"); toolTip1.SetToolTip(btnExtract, "Click to extract the whole CON file"); toolTip1.SetToolTip(btnSave, "Click to sign and rebuild CON file"); toolTip1.SetToolTip(txtTitle, "Package Title (optional)"); toolTip1.SetToolTip(txtDescription, "Package Description (optional)"); toolTip1.SetToolTip(btnVisualize, "Click to open in Visualizer"); }
private void DrawingOnOnDraw(EventArgs args) { if (!Modes.ModeDraw.MenuLocal.Item("Draw.Enable").GetValue <bool>()) { return; } foreach (var hero in HeroManager.AllHeroes) { var passiveBuffs = (from b in hero.Buffs join b1 in PassiveBuffs on b.DisplayName equals b1.BuffName select new { b, b1 }).Distinct(); foreach (var buffName in passiveBuffs) { for (int i = 0; i < passiveBuffs.Count(); i++) { if (buffName.b.EndTime >= Game.Time) { CommonGeometry.DrawBox(new Vector2(hero.HPBarPosition.X + 10, (i * 8) + hero.HPBarPosition.Y + 32), 130, 6, Color.FromArgb(100, 255, 200, 37), 1, Color.Black); var buffTime = buffName.b.EndTime - buffName.b.StartTime; CommonGeometry.DrawBox(new Vector2(hero.HPBarPosition.X + 11, (i * 8) + hero.HPBarPosition.Y + 33), (130 / buffTime) * (buffName.b.EndTime - Game.Time), 4, buffName.b1.Color, 1, buffName.b1.Color); TimeSpan timeSpan = TimeSpan.FromSeconds(buffName.b.EndTime - Game.Time); var timer = $"{timeSpan.Minutes:D2}:{timeSpan.Seconds:D2}"; CommonGeometry.DrawText(CommonGeometry.TextPassive, timer, hero.HPBarPosition.X + 142, (i * 8) + hero.HPBarPosition.Y + 29, SharpDX.Color.Wheat); } } } var jungleBuffs = (from b in hero.Buffs join b1 in JungleBuffs on b.DisplayName equals b1.BuffName select new { b, b1 }).Distinct(); foreach (var buffName in jungleBuffs.ToList()) { var circle1 = new CommonGeometry.Circle2(new Vector2(hero.Position.X + 3, hero.Position.Y - 3), 140 + (buffName.b1.Number * 20), Game.Time - buffName.b.StartTime, buffName.b.EndTime - buffName.b.StartTime).ToPolygon(); circle1.Draw(Color.Black, 3); var circle = new CommonGeometry.Circle2(hero.Position.To2D(), 140 + (buffName.b1.Number * 20), Game.Time - buffName.b.StartTime, buffName.b.EndTime - buffName.b.StartTime).ToPolygon(); circle.Draw(buffName.b1.Color, 3); } } }
public void Init() { MenuLocal = new Menu("Drawings", "Drawings"); { MenuLocal.AddItem(new MenuItem("Draw.Enable", "Enable/Disable Drawings:").SetValue(true)).SetFontStyle(FontStyle.Bold, SharpDX.Color.GreenYellow); MenuLocal.AddItem(new MenuItem("DrawPc.Mode", "Adjust settings to your own computer:").SetValue(new StringList(new[] { "New Computer", "Old Computer" }, 0)).SetFontStyle(FontStyle.Regular, SharpDX.Color.Coral)).ValueChanged += (sender, args) => { InitRefreshMenuItems(); }; SubMenuManaBarIndicator = new Menu("Mana Bar Combo Indicator", "ManaBarIndicator"); { for (int i = 0; i < 2; i++) { SubMenuManaBarIndicator.AddItem(new MenuItem(pcMode[i] + "DrawManaBar.Q", "Q:").SetValue(true).SetFontStyle(FontStyle.Regular, Q.MenuColor())); SubMenuManaBarIndicator.AddItem(new MenuItem(pcMode[i] + "DrawManaBar.W", "W:").SetValue(true).SetFontStyle(FontStyle.Regular, W.MenuColor())); SubMenuManaBarIndicator.AddItem(new MenuItem(pcMode[i] + "DrawManaBar.E", "E:").SetValue(true).SetFontStyle(FontStyle.Regular, E.MenuColor())); } MenuLocal.AddSubMenu(SubMenuManaBarIndicator); } SubMenuSpells = new Menu("Spell Ranges", "DrawSpellRanges"); { for (int i = 0; i < 2; i++) { SubMenuSpells.AddItem(new MenuItem(pcMode[i] + "Draw.Q", "Q:").SetValue(new Circle(false, Color.FromArgb(255, 255, 255, 255))).SetFontStyle(FontStyle.Regular, Q.MenuColor())); SubMenuSpells.AddItem(new MenuItem(pcMode[i] + "Draw.W", "W:").SetValue(new Circle(false, Color.FromArgb(255, 255, 255, 255))).SetFontStyle(FontStyle.Regular, W.MenuColor())); SubMenuSpells.AddItem(new MenuItem(pcMode[i] + "Draw.E", "E:").SetValue(new Circle(false, Color.FromArgb(255, 255, 255, 255))).SetFontStyle(FontStyle.Regular, E.MenuColor())); SubMenuSpells.AddItem(new MenuItem(pcMode[i] + "Draw.R", "R:").SetValue(new Circle(false, Color.FromArgb(255, 255, 255, 255))).SetFontStyle(FontStyle.Regular, R.MenuColor())); } MenuLocal.AddSubMenu(SubMenuSpells); } SubMenuBuffs = new Menu("Buff Times", "DrawBuffTimes"); { for (int i = 0; i < 2; i++) { SubMenuBuffs.AddItem(new MenuItem(pcMode[i] + "DrawBuffs", "Show Red/Blue/Baron Time Circle").SetValue(true)); } MenuLocal.AddSubMenu(SubMenuBuffs); } SubMenuTimers = new Menu("W-R Objects", "DrawSpellTimes"); { for (int i = 0; i < 2; i++) { SubMenuTimers.AddItem(new MenuItem(pcMode[i] + "Draw.W.BuffTime", "W: Show Time Circle").SetValue(new StringList(new[] { "Off", "On" }, 1)).SetFontStyle(FontStyle.Regular, R.MenuColor())); SubMenuTimers.AddItem(new MenuItem(pcMode[i] + "Draw.R.BuffTime", "R: Show Time Circle").SetValue(new StringList(new[] { "Off", "On" }, 1)).SetFontStyle(FontStyle.Regular, E.MenuColor())); } MenuLocal.AddSubMenu(SubMenuTimers); } for (int i = 0; i < 2; i++) { MenuLocal.AddItem(new MenuItem(pcMode[i] + "DrawKillableEnemy", "Killable Enemy Notification").SetValue(true)); MenuLocal.AddItem(new MenuItem(pcMode[i] + "DrawKillableEnemyMini", "Killable Enemy [Mini Map]").SetValue(new Circle(true, Color.GreenYellow))); } for (int i = 0; i < 2; i++) { MenuLocal.AddItem(new MenuItem(pcMode[i] + "Draw.MinionLastHit", "Draw Minion Last Hit").SetValue(new StringList(new [] { "Off", "Auto Attack", "Q Damage" }, 2))); } for (int i = 0; i < 2; i++) { var dmgAfterComboItem = new MenuItem(pcMode[i] + "DrawDamageAfterCombo", "Combo Damage").SetValue(true); { MenuLocal.AddItem(dmgAfterComboItem); //LeagueSharp.Common.Utility.HpBarDamageIndicator.DamageToUnit = Common.CommonMath.GetComboDamage; LeagueSharp.Common.Utility.HpBarDamageIndicator.DamageToUnit = Modes.ModeCombo.GetComboDamage; LeagueSharp.Common.Utility.HpBarDamageIndicator.Enabled = dmgAfterComboItem.GetValue <bool>(); dmgAfterComboItem.ValueChanged += delegate(object sender, OnValueChangeEventArgs eventArgs) { LeagueSharp.Common.Utility.HpBarDamageIndicator.Enabled = eventArgs.GetNewValue <bool>(); }; } } CommonManaBar.Init(MenuLocal); } ModeConfig.MenuConfig.AddSubMenu(MenuLocal); InitRefreshMenuItems(); Game.OnUpdate += GameOnOnUpdate; Drawing.OnDraw += Drawing_OnDraw; Drawing.OnEndScene += DrawingOnOnEndScene; }
private static void Drawing_OnDraw(EventArgs args) { if (!MenuLocal.Item("Draw.Enable").GetValue <bool>()) { return; } if (MenuLocal.Item(GetPcModeStringValue + "DrawBuffs").GetValue <bool>()) { var passiveBuffs = (from b in ObjectManager.Player.Buffs join b1 in CommonBuffManager.BuffDatabase on b.Name equals b1.BuffName select new { b, b1 }).Distinct(); var i = 0; foreach (var buffName in passiveBuffs) { if (buffName.b.EndTime >= Game.Time) { CommonGeometry.DrawBox( new Vector2(ObjectManager.Player.HPBarPosition.X + 10, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 32), 130, 6, Color.FromArgb(100, 255, 200, 37), 1, Color.Black); var buffTime = buffName.b.EndTime - buffName.b.StartTime; CommonGeometry.DrawBox( new Vector2(ObjectManager.Player.HPBarPosition.X + 11, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 33), (130 / buffTime) * (buffName.b.EndTime - Game.Time), 4, buffName.b1.Color, 1, buffName.b1.Color); TimeSpan timeSpan = TimeSpan.FromSeconds(buffName.b.EndTime - Game.Time); var timer = $"{timeSpan.Minutes:D2}:{timeSpan.Seconds:D2}"; CommonGeometry.DrawText(CommonGeometry.TextPassive, timer, ObjectManager.Player.HPBarPosition.X + 142, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 29, SharpDX.Color.Wheat); CommonGeometry.TextPassive.DrawTextLeft(buffName.b1.Caption, (int)ObjectManager.Player.HPBarPosition.X + 8, (int)((i * 8) + ObjectManager.Player.HPBarPosition.Y + 35), SharpDX.Color.Wheat); } i += 1; } } DrawSpells(); DrawMinionLastHit(); //KillableEnemy(); DrawBuffs(); //Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, System.Drawing.Color.Red); return; var t = TargetSelector.GetTarget(W.Range * 3, TargetSelector.DamageType.Magical); if (t == null) { return; } if (t.IsValidTarget(W.Range)) { return; } List <Vector2> xList = new List <Vector2>(); var nLocation = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()) * W.Range; //if (CommonGeometry.IsWallBetween(nEvadePoint.To3D(), location.To3D())) //{ // Chat.Print("Wall"); //} //else //{ // Chat.Print("Not Wall"); //} Vector2 wCastPosition = nLocation; //Render.Circle.DrawCircle(wCastPosition.To3D(), 105f, System.Drawing.Color.Red); if (!wCastPosition.IsWall()) { xList.Add(wCastPosition); } if (wCastPosition.IsWall()) { for (int j = 20; j < 80; j += 20) { Vector2 wcPositive = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(j * (float)Math.PI / 180) * W.Range; if (!wcPositive.IsWall()) { xList.Add(wcPositive); } Vector2 wcNegative = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(-j * (float)Math.PI / 180) * W.Range; if (!wcNegative.IsWall()) { xList.Add(wcNegative); } } float xDiff = ObjectManager.Player.Position.X - t.Position.X; float yDiff = ObjectManager.Player.Position.Y - t.Position.Y; int angle = (int)(Math.Atan2(yDiff, xDiff) * 180.0 / Math.PI); } //foreach (var aa in xList) //{ // Render.Circle.DrawCircle(aa.To3D2(), 105f, System.Drawing.Color.White); //} var nJumpPoint = xList.OrderBy(al => al.Distance(t.Position)).First(); var color = System.Drawing.Color.DarkRed; var width = 4; var startpos = ObjectManager.Player.Position; var endpos = nJumpPoint.To3D(); if (startpos.Distance(endpos) > 100) { var endpos1 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * 75; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x1.Draw(color, width - 2); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y1.Draw(color, width - 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z1.Draw(color, width - 2); Geometry.Polygon.Circle x2 = new LeagueSharp.Common.Geometry.Polygon.Circle(endpos, W.Width / 2); if (CommonGeometry.IsWallBetween(ObjectManager.Player.Position, endpos)) { x2.Draw(Color.Red, width - 2); } else { x2.Draw(Color.Wheat, width - 2); } } if (!t.IsValidTarget(W.Range + Q.Range - 60)) { return; } if (t.IsValidTarget(W.Range)) { return; } var canJump = false; if (Modes.ModeCombo.ComboMode == ComboMode.Mode2xQ) { if ((t.Health < ModeCombo.GetComboDamage(t) - W.GetDamage(t) && Q.IsReady() && R.IsReady()) || (t.Health < Q.GetDamage(t) && Q.IsReady())) { canJump = true; } } var nPoint = nJumpPoint.Extend(ObjectManager.Player.Position.To2D(), +ObjectManager.Player.BoundingRadius * 3); Render.Circle.DrawCircle(nPoint.To3D(), 50f, Color.GreenYellow); if (CommonGeometry.IsWallBetween(nPoint.To3D(), nJumpPoint.To3D())) { canJump = false; } if (canJump && W.IsReady() && !W.StillJumped()) { if (Modes.ModeConfig.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { W.Cast(nJumpPoint); } return; } }
private void Plant_binary_OnClick(object sender, RoutedEventArgs e) { const int n = 256; var plantPixelCount = new int[n]; for (var i = 0; i < _bitmapLicence.Width; i++) { for (var j = 0; j < _bitmapLicence.Height; j++) { var x = _bitmapLicence.GetPixel(i, j).R; plantPixelCount[x]++; } } var totalValue = plantPixelCount.Select((t, i) => i * t).Sum(); //MessageBox.Show("totalValue is :" + totalValue+Environment.NewLine); PositioningLicence.WriteToFile("totalValue is :" + totalValue + Environment.NewLine); double sum0 = 0; var w0 = 0; double maximun = 0; var total = _bitmapLicence.Width * _bitmapLicence.Height; byte level = 0; for (byte i = 0; i < plantPixelCount.Length; i++) { w0 += plantPixelCount[i]; if (w0 == 0) { continue; } var w1 = total - w0; if (w1 == 0) { break; } sum0 += i * plantPixelCount[i]; var m0 = sum0 / w0; var m1 = (totalValue - sum0) / w1; var icv = w0 * w1 * (m0 - m1) * (m0 - m1); if (!(icv >= maximun)) { continue; } level = i; maximun = icv; //PositioningLicence.WriteToFile(m0+" "+m1+" "+icv+" "+Environment.NewLine); } //MessageBox.Show(@"level is: "+level); PositioningLicence.WriteToFile(@"level is: " + level + Environment.NewLine); for (var i = 0; i < _bitmapLicence.Width; i++) { for (var j = 0; j < _bitmapLicence.Height; j++) { int x = _bitmapLicence.GetPixel(i, j).R; var value = x > level ? 255 : 0; _bitmapLicence.SetPixel(i, j, Color.FromArgb(value, value, value)); } } t_show_pic(_bitmapLicence); /*var cnt = 0; * var str = ""; * foreach (var b in plantPixelCount) * { * Console.Write(b+@" "); * str += b + " "; * if (cnt++ % 20 ==0 &&cnt-1!=0) * str += Environment.NewLine; * * } * PositioningLicence.WriteToFile(str);*/ }
public override Brush GetBrush(SvgVisualElement renderingElement, ISvgRenderer renderer, float opacity, bool forStroke = false) { LoadStops(renderingElement); try { if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) { renderer.SetBoundable(renderingElement); } // Calculate the path and transform it appropriately var center = new PointF(NormalizeUnit(CenterX).ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), NormalizeUnit(CenterY).ToDeviceValue(renderer, UnitRenderingType.Vertical, this)); var focals = new PointF[] { new PointF(NormalizeUnit(FocalX).ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), NormalizeUnit(FocalY).ToDeviceValue(renderer, UnitRenderingType.Vertical, this)) }; var specifiedRadius = NormalizeUnit(Radius).ToDeviceValue(renderer, UnitRenderingType.Other, this); var path = new GraphicsPath(); path.AddEllipse( center.X - specifiedRadius, center.Y - specifiedRadius, specifiedRadius * 2, specifiedRadius * 2 ); using (var transform = EffectiveGradientTransform) { var bounds = renderer.GetBoundable().Bounds; transform.Translate(bounds.X, bounds.Y, MatrixOrder.Prepend); if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) { transform.Scale(bounds.Width, bounds.Height, MatrixOrder.Prepend); } path.Transform(transform); transform.TransformPoints(focals); } // Calculate any required scaling var scaleBounds = RectangleF.Inflate(renderingElement.Bounds, renderingElement.StrokeWidth, renderingElement.StrokeWidth); var scale = CalcScale(scaleBounds, path); // Not ideal, but this makes sure that the rest of the shape gets properly filled or drawn if (scale > 1.0f && SpreadMethod == SvgGradientSpreadMethod.Pad) { var stop = Stops.Last(); var origColor = stop.GetColor(renderingElement); var renderColor = SystemColor.FromArgb((int)Math.Round(opacity * stop.Opacity * 255), origColor); var origClip = renderer.GetClip(); try { using (var solidBrush = new SolidBrush(renderColor)) { var newClip = origClip.Clone(); newClip.Exclude(path); renderer.SetClip(newClip); var renderPath = (GraphicsPath)renderingElement.Path(renderer); if (forStroke) { using (var pen = new Pen(solidBrush, renderingElement.StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, renderingElement))) { renderer.DrawPath(pen, renderPath); } } else { renderer.FillPath(solidBrush, renderPath); } } } finally { renderer.SetClip(origClip); } } // Get the color blend and any tweak to the scaling var blend = CalculateColorBlend(renderer, opacity, scale, out scale); // Transform the path based on the scaling var gradBounds = path.GetBounds(); var transCenter = new PointF(gradBounds.Left + gradBounds.Width / 2, gradBounds.Top + gradBounds.Height / 2); using (var scaleMat = new Matrix()) { scaleMat.Translate(-1 * transCenter.X, -1 * transCenter.Y, MatrixOrder.Append); scaleMat.Scale(scale, scale, MatrixOrder.Append); scaleMat.Translate(transCenter.X, transCenter.Y, MatrixOrder.Append); path.Transform(scaleMat); } // calculate the brush var brush = new PathGradientBrush(path); brush.CenterPoint = focals[0]; brush.InterpolationColors = blend; return(brush); } finally { if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) { renderer.PopBoundable(); } } }
public Color GetSystemColor() { return(Color.FromArgb(GetValue(ColorBytes.Alpha), GetValue(ColorBytes.Red), GetValue(ColorBytes.Green), GetValue(ColorBytes.Blue))); }
public static Color ToGrayScale(this Color color) { var gamma = (int)((color.R * 0.2126) + (color.G * 0.7152) + (color.B * 0.0722)); return(Color.FromArgb(gamma, gamma, gamma)); }
private static void Game_OnGameLoad(EventArgs args) { Player = ObjectManager.Player; if (Player.BaseSkinName != ChampionName) { return; } Game.PrintChat(WelcomeMsg); //Create the spells #region Q = new Spell(SpellSlot.Q, 500f); W = new Spell(SpellSlot.W, 0); E = new Spell(SpellSlot.E, 225f); R = new Spell(SpellSlot.R, 650f); R.SetSkillshot(0.25f, 250f, float.MaxValue, false, SkillshotType.SkillshotCircle); SpellList.Add(Q); SpellList.Add(W); SpellList.Add(E); SpellList.Add(R); IgniteSlot = Player.GetSpellSlot("SummonerDot"); #endregion //Create the items #region DFG = new Items.Item(3128, 750f); BotRK = new Items.Item(3153, 450f); HexGunBlade = new Items.Item(3146, 700f); QuickS = new Items.Item(3140, 0f); Cutlass = new Items.Item(3144, 450f); Scimitar = new Items.Item(3139, 0f); #endregion //Create the menu #region Menu = new Menu(ChampionName, ChampionName, true); var targetSelectorMenu = new Menu("目标选择", "Target Selector"); SimpleTs.AddToMenu(targetSelectorMenu); Menu.AddSubMenu(targetSelectorMenu); Menu.AddSubMenu(new Menu("走砍", "Orbwalker Menu")); Orbwalker = new Orbwalking.Orbwalker(Menu.SubMenu("Orbwalker Menu")); #endregion //Add Combo SubMenu #region Menu.AddSubMenu(new Menu("连招", "Combo")); Menu.SubMenu("Combo").AddItem(new MenuItem("UseQCombo", "使用 Q").SetValue(true)); //Menu.SubMenu("Combo").AddItem(new MenuItem("UseWCombo", "使用 W").SetValue(true)); Menu.SubMenu("Combo").AddItem(new MenuItem("UseECombo", "使用 E").SetValue(true)); Menu.SubMenu("Combo").AddItem(new MenuItem("UseRCombo", "使用 R").SetValue(true)); Menu.SubMenu("Combo").AddItem(new MenuItem("UseItemsCombo", "使用选项").SetValue(true)); Menu.SubMenu("Combo").AddItem(new MenuItem("UseIgniteCombo", "使用点燃").SetValue(true)); Menu.SubMenu("Combo").AddItem(new MenuItem("ComboActive", "连招").SetValue(new KeyBind(32, KeyBindType.Press))); #endregion //Add LaneClear SubMenu #region Menu.AddSubMenu(new Menu("清线", "LaneClear")); Menu.SubMenu("LaneClear").AddItem(new MenuItem("UseQLaneClear", "使用 Q").SetValue(true)); Menu.SubMenu("LaneClear").AddItem(new MenuItem("UseELaneClear", "使用 E").SetValue(false)); Menu.SubMenu("LaneClear").AddItem(new MenuItem("LaneClearActive", "清线").SetValue(new KeyBind("V".ToArray()[0], KeyBindType.Press))); #endregion //Add JungleFarm SubMenu #region Menu.AddSubMenu(new Menu("清野", "JungleFarm")); Menu.SubMenu("JungleFarm").AddItem(new MenuItem("UseQJungleFarm", "使用 Q").SetValue(true)); Menu.SubMenu("JungleFarm").AddItem(new MenuItem("UseEJungleFarm", "使用 E").SetValue(true)); Menu.SubMenu("JungleFarm").AddItem(new MenuItem("JungleFarmActive", "清野").SetValue(new KeyBind("V".ToArray()[0], KeyBindType.Press))); #endregion //Add Items SubMenu #region Menu.AddSubMenu(new Menu("自动物品选项默认即可", "Items")); Menu.SubMenu("Items").AddItem(new MenuItem("UseDFGItems", "Use DFG").SetValue(true)); Menu.SubMenu("Items").AddItem(new MenuItem("UseBotRKItems", "Use BotRK").SetValue(true)); Menu.SubMenu("Items").AddItem(new MenuItem("UseHexGunBladeItems", "Use Hextech Gunblade").SetValue(true)); //Menu.SubMenu("Items").AddItem(new MenuItem("UseQuickSItems", "Use Quicksilver Sash").SetValue(true)); Menu.SubMenu("Items").AddItem(new MenuItem("UseCutlassItems", "Use Bilgewater cutlass").SetValue(true)); #endregion //Add Drawing SubMenu #region Menu.AddSubMenu(new Menu("技能范围选项", "Drawings")); Menu.SubMenu("Drawings").AddItem(new MenuItem("DrawQ", "Q范围").SetValue(new Circle(true, Color.FromArgb(255, 0, 255, 0)))); Menu.SubMenu("Drawings").AddItem(new MenuItem("DrawE", "E范围").SetValue(new Circle(true, Color.FromArgb(255, 0, 255, 0)))); Menu.SubMenu("Drawings").AddItem(new MenuItem("DrawR", "R范围").SetValue(new Circle(true, Color.FromArgb(255, 0, 255, 0)))); #endregion //Add Misc SubMenu #region Menu.AddSubMenu(new Menu("杂项", "Misc")); Menu.SubMenu("Misc").AddItem(new MenuItem("UsePackets", "使用封包").SetValue(true)); Menu.SubMenu("Misc").AddItem(new MenuItem("SmartW", "智能W").SetValue(true)); Menu.SubMenu("Misc").AddSubMenu(new Menu("Smart Quicksilver Sash", "SQS")); Menu.SubMenu("Misc").SubMenu("SQS").AddItem(new MenuItem("ActiveQSS", "Active").SetValue(true)); Menu.SubMenu("Misc").SubMenu("SQS").AddItem(new MenuItem("Quick%Poison", "On % HP when poisoned").SetValue(new Slider(10, 1, 100))); //Menu.SubMenu("SmartQuickS1").AddItem(new MenuItem("Quick%Poison", "On % HP when poisoned").SetValue(10)); #endregion Menu.AddItem(new MenuItem("by Da'ath.", "by Da'ath")); //Make visable Menu.AddToMainMenu(); //Events Game.OnGameUpdate += Game_OnGameUpdate; Drawing.OnDraw += Drawing_OnDraw; }
/// <summary> /// 初始化温度曲线 /// </summary> private void CreateTempChart() { //Create new _chartTemp _chartTemp = new LightningChartUltimate(); _chartTemp.BeginUpdate(); _chartTemp.ViewXY.DropOldSeriesData = true; _chartTemp.Parent = lightningChartUltimate1; _chartTemp.Name = "出铁口铁水温度曲线"; //_chartTemp.Title.Font.; _chartTemp.Title.Text = "出铁口铁水温度曲线"; _chartTemp.Title.Color = PublicColor.FromArgb(255, Color.Yellow); _chartTemp.Title.Font = new Font("黑体", 10, FontStyle.Bold); //_chartTemp.Title.Visible = false; _chartTemp.Dock = DockStyle.Fill; _chartTemp.Background.Color = PublicColor.FromArgb(255, Color.Gray); _chartTemp.Background.GradientFill = GradientFill.Solid; AxisX xAxis = _chartTemp.ViewXY.XAxes[0]; xAxis.ValueType = AxisValueType.DateTime; xAxis.Title.Text = "Time"; xAxis.AutoFormatLabels = false; //xAxis.LabelsTimeFormat = "dd/MM/yyyy\nHH:mm.ss"; xAxis.LabelsTimeFormat = "HH:mm.ss"; xAxis.LabelsAngle = 0; xAxis.ScrollMode = XAxisScrollMode.Scrolling; xAxis.Title.Visible = false; xAxis.Visible = false; //Convert DateTime values to axis values DateTime now = DateTime.Now; double minX = xAxis.DateTimeToAxisValue(now); double maxX = xAxis.DateTimeToAxisValue(now) + 100; xAxis.SetRange(minX, maxX); //Configure y-axis AxisY yAxis = _chartTemp.ViewXY.YAxes[0]; yAxis.Title.Text = "Temperature / °C"; yAxis.Title.Visible = false; yAxis.SetRange(1500, 1600); yAxis.LabelsFont = new Font("黑体", 6); yAxis.LabelsColor = PublicColor.FromArgb(255, Color.Yellow); //Configure and add series to the chart PointLineSeries series = new PointLineSeries(_chartTemp.ViewXY, xAxis, yAxis); series.LineStyle.Color = Color.Yellow; series.MouseInteraction = false; _chartTemp.ViewXY.PointLineSeries.Add(series); //Don't show legendbox _chartTemp.ViewXY.LegendBoxes[0].Visible = false; //Allow chart rendering _chartTemp.EndUpdate(); }
public override void Drawing_OnDraw(EventArgs args) { foreach (var enemy in HeroManager.Enemies.Where(enemy => R.IsReady() && enemy.LSIsValidTarget() && R.GetDamage(enemy) > enemy.Health)) { Marksman.Common.CommonGeometry.DrawBox(new Vector2(Drawing.Width * 0.43f, Drawing.Height * 0.80f), 185, 18, Color.FromArgb(242, 255, 236, 6), 1, System.Drawing.Color.Black); Marksman.Common.CommonGeometry.DrawText(Marksman.Common.CommonGeometry.Text, "Killable enemy with ultimate: " + enemy.ChampionName, Drawing.Width * 0.435f, Drawing.Height * 0.803f, SharpDX.Color.Black); } LeagueSharp.Common.Spell[] spellList = { Q, W }; foreach (var spell in spellList) { var menuItem = Program.marksmanDrawings["Draw" + spell.Slot].Cast <CheckBox>().CurrentValue; if (menuItem) { Render.Circle.DrawCircle(ObjectManager.Player.Position, spell.Range, Color.FromArgb(100, 255, 0, 255)); } } var drawRMin = Program.combo["DrawRMin"].Cast <CheckBox>().CurrentValue; if (drawRMin) { var minRRange = Program.combo["UseRCMinRange"].Cast <Slider>().CurrentValue; Render.Circle.DrawCircle(ObjectManager.Player.Position, minRRange, Color.DarkRed, 2); } var drawRMax = Program.combo["DrawRMax"].Cast <CheckBox>().CurrentValue; if (drawRMax) { var maxRRange = Program.combo["UseRCMaxRange"].Cast <Slider>().CurrentValue; Render.Circle.DrawCircle(ObjectManager.Player.Position, maxRRange, Color.DarkMagenta, 2); } }
static void Drawing_OnDraw(EventArgs args) { if (Player.IsDead || !Player.IsValid) { return; } foreach ( var unit in ObjectManager.Get <Obj_AI_Minion>().Where(x => x.IsValidTarget(900) && x.PassiveRooted())) { var b = unit.GetBuff("NidaleePassiveMonsterRoot"); if (b.Caster.IsMe && b.EndTime - Game.Time > 0) { var tpos = Drawing.WorldToScreen(unit.Position); Drawing.DrawText(tpos[0], tpos[1], Color.DeepPink, "ROOTED " + (b.EndTime - Game.Time).ToString("F")); } } if (Root.Item("dti").GetValue <bool>()) { var pos = Drawing.WorldToScreen(Player.Position); Drawing.DrawText(pos[0] + 100, pos[1] - 135, Color.White, "Q: " + KL.SpellTimer["Javelin"].ToString("F")); } if (Root.Item("dt").GetValue <bool>() && Target != null) { if (Root.Item("pstyle").GetValue <StringList>().SelectedIndex == 0) { Render.Circle.DrawCircle(Target.Position, Target.BoundingRadius, Color.DeepPink, 6); } } if (Root.Item("dp").GetValue <bool>() && !KL.CatForm()) { Render.Circle.DrawCircle(KL.Player.Position, KL.Spells["Javelin"].Range, Color.FromArgb(155, Color.DeepPink), 4); } if (Root.Item("dz").GetValue <bool>() && KL.CatForm()) { Render.Circle.DrawCircle(KL.Player.Position, KL.Spells["ExPounce"].Range, Color.FromArgb(155, Color.DeepPink), 4); } }
/// <summary> /// Fired when the scene is completely rendered. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> private void Drawing_OnEndScene(EventArgs args) { if (!this.Menu.Item("DrawHealth_").GetValue <bool>() || Drawing.Direct3DDevice.IsDisposed || Font.IsDisposed) { return; } float i = 0; foreach (var hero in HeroManager.Enemies.Where(x => !x.IsDead)) { var champion = hero.ChampionName; if (champion.Length > 12) { champion = champion.Remove(7) + "..."; } var championInfo = this.Menu.Item("DrawHealth_percent").IsActive() ? $"{champion} ({(int)hero.HealthPercent}%)" : champion; if (this.Menu.Item("DrawHealth_ultimate").IsActive()) { var timeR = hero.Spellbook.GetSpell(SpellSlot.R).CooldownExpires - Game.Time; var ultText = timeR <= 0 ? "READY" : (timeR < 10 ? timeR.ToString("N1") : ((int)timeR).ToString()) + "s"; if (hero.Spellbook.GetSpell(SpellSlot.R).Level == 0) { ultText = "N/A"; } championInfo += $" - R: {ultText}"; } if (this.Menu.Item("Health.Version").GetValue <StringList>().SelectedIndex == 1) { const int Height = 25; // Draws the rectangle DrawRect( Drawing.Width - this.HudOffsetRight, this.HudOffsetTop + i, 200, Height, 1, Color.FromArgb(175, 51, 55, 51)); DrawRect( Drawing.Width - this.HudOffsetRight + 2, this.HudOffsetTop + i - -2, hero.HealthPercent <= 0 ? 100 : (int)hero.HealthPercent * 2 - 4, Height - 4, 1, hero.HealthPercent < 30 && hero.HealthPercent > 0 ? Color.FromArgb(255, 250, 0, 23) : hero.HealthPercent < 50 ? Color.FromArgb(255, 230, 169, 14) : Color.FromArgb(255, 2, 157, 10)); // Draws the championnames Font.DrawText( null, championInfo, (int)(Drawing.Width - this.HudOffsetRight - Font.MeasureText(null, championInfo).Width / 2f) + 200 / 2, (int)(this.HudOffsetTop + i + 13 - Font.MeasureText(null, championInfo).Height / 2f), new ColorBGRA(255, 255, 255, 175)); } else { // Draws the championnames Font.DrawText( null, championInfo, Drawing.Width - this.HudOffsetRight - this.HudOffsetText - Font.MeasureText(null, championInfo).Width, (int)(this.HudOffsetTop + i + 4 - Font.MeasureText(null, championInfo).Height / 2f), hero.HealthPercent > 0 ? new ColorBGRA(255, 255, 255, 255) : new ColorBGRA(244, 8, 8, 255)); // Draws the rectangle DrawRect( Drawing.Width - this.HudOffsetRight, this.HudOffsetTop + i, 100, this.BarHeight, 1, Color.FromArgb(255, 51, 55, 51)); // Fils the rectangle DrawRect( Drawing.Width - this.HudOffsetRight, this.HudOffsetTop + i, hero.HealthPercent <= 0 ? 100 : (int)hero.HealthPercent, this.BarHeight, 1, hero.HealthPercent < 30 && hero.HealthPercent > 0 ? Color.FromArgb(255, 250, 0, 23) : hero.HealthPercent < 50 ? Color.FromArgb(255, 230, 169, 14) : Color.FromArgb(255, 2, 157, 10)); } i += 20f + (this.Menu.Item("Health.Version").GetValue <StringList>().SelectedIndex == 1 ? 5 : this.HudSpacing); } }
public override CommandFeedback Execute(string[] args) { string strIP = args[1]; bmpScreen = new Bitmap(1920, 1080); bmpScreenSmall = new Bitmap(240, 135, PixelFormat.Format24bppRgb); Graphics g = Graphics.FromImage(bmpScreen); Graphics gSmall = Graphics.FromImage(bmpScreenSmall); LockBitmap locker = new LockBitmap(bmpScreenSmall); Device device = new Device(strIP); AsyncHelpers.RunSync(device.Connect); device.SetBrightness(100); ColorThief colorThief = new ColorThief(); Color lastColor = new Color(); int counter = 0; int lastBrightness = -1; int lastRGB = -1; for (; ;) { Thread.Sleep(TimeSpan.FromMilliseconds(512)); //Thread.Sleep(TimeSpan.FromMilliseconds(5000)); Console.WriteLine($"Tick {counter++}"); // snapshot display and copy to bitmap //g.CopyFromScreen(-1920, 0, 0, 0, new Size(1920, 1080)); g.CopyFromScreen(0, 0, 0, 0, new Size(1920, 1080)); // scale bitmap down 8x gSmall.DrawImage(bmpScreen, new Rectangle(0, 0, bmpScreenSmall.Width, bmpScreenSmall.Height)); bmpScreenSmall.Save($"F:\\Nuke\\img{counter}.png"); // lock bits //locker.LockBits(); //int brightness; //Color color = GetDominantColor(locker.Pixels, out brightness); //Color color = GetAverageColor(locker.Pixels, out brightness); //locker.UnlockBits(); int brightness = 0; QuantizedColor qColor = colorThief.GetColor(bmpScreenSmall); Color color = Color.FromArgb(qColor.Color.R, qColor.Color.G, qColor.Color.B); int red = color.R; int green = color.G; int blue = color.B; int num2 = red << 16 | green << 8 | blue; if (brightness != lastBrightness) { int deltaBright = Math.Abs(brightness - lastBrightness); if (deltaBright > 7) { lastBrightness = brightness; //device.SetBrightness(brightness); Console.WriteLine($"New brightness: {brightness}"); } } if (num2 != lastRGB) { lastRGB = num2; int deltaR = Math.Abs(red - lastColor.R); int deltaG = Math.Abs(green - lastColor.G); int deltaB = Math.Abs(blue - lastColor.B); if (deltaR > 25 || deltaG > 25 || deltaB > 25) { //if (deltaR > 5 || // deltaG > 5 || // deltaB > 5) { lastColor = color; // dont change if the delta is too small AsyncHelpers.RunSync(() => { return(device.SetRGBColor(red, green, blue)); }); Console.WriteLine($"New color: {red}, {green}, {blue}"); } } //string strRepeat = StringUtil.RepeatCharacter('■', peakValueBars); //Console.WriteLine($"({peakValueCent}) {strRepeat}"); } device.Disconnect(); return(CommandFeedback.Success); }
public ActivityViewer() { InitializeComponent(); WindowState = WindowState.Maximized; Thread UIThr = new Thread(() => { int idgb = 0; while (true) { // try { Dispatcher.Invoke((() => { chunkMap = new Bitmap((int)ChunkMap.Width, (int)ChunkMap.Width); chunkMapG = Graphics.FromImage(chunkMap); chunkViewG = Graphics.FromImage(chunkView); ThreadList.Items.Clear(); ThreadStateList.Items.Clear(); ProcessThreadCollection currentThreads = Process.GetCurrentProcess().Threads; for (int i = 0; i < DataStore.Threads.Count; i++) { try { Thread thread = DataStore.Threads[i]; ThreadStateList.Items.Add($"{thread.ThreadState}"); ThreadList.Items.Add($"{thread.Name} ({thread.ManagedThreadId})"); } catch (NullReferenceException) { ThreadStateList.Items.Add($"?"); ThreadList.Items.Add($"?"); } } ThreadLabel.Content = $"Active threads: {ThreadList.Items.Count} ({currentThreads.Count})"; })); if (MainWindow.world.Dimensions[DataStore.Player.DimensionId].Chunks.Count > 1) { List <Chunk> chunks = MainWindow.world.Dimensions[DataStore.Player.DimensionId].Chunks.Values.ToList(); Player plr = DataStore.Player; (int X, int Y)cpos = Util.PlayerPosToChunkPos(plr.pos), tcpos = TranslateCoordinate(chunkMap, cpos.X, cpos.Y); if (chunks.Count > 2) { for (int i = 0; i < chunks.Count; i++) { Chunk ch = chunks[i]; (int X, int Y)pos = TranslateCoordinate(chunkMap, ch.X, ch.Z); chunkMapG.DrawRectangle(new Pen(Color.FromArgb(255, 0, 128, 0), 1), pos.X, pos.Y, 1, 1); chunkMapG.DrawRectangle(new Pen(Color.FromArgb(255, 255, 0, 0), 1), tcpos.X, tcpos.Y, 1, 1); } try { if (MainWindow.world.Dimensions[DataStore.Player.DimensionId].Chunks.ContainsKey(cpos)) { Chunk cch = MainWindow.world.Dimensions[DataStore.Player.DimensionId].Chunks[cpos]; List <Block> blocks = cch.Blocks.Values.ToList(); for (int i = 0; i < blocks.Count; i++) { Block bl = blocks[i]; chunkViewG.DrawRectangle(new Pen(Color.FromArgb(255, 0, Math.Min(16 * bl.Y, 255), 0), 1), bl.X, bl.Z, 1, 1); } } } catch { } //catch { /*MainWindow.world.Dimensions[DataStore.Player.WorldID].Chunks.Add(cpos, */TerrainGen.GetChunk(cpos.X, cpos.Y);/*);*/ throw; } } Dispatcher.Invoke(() => CurrentChunk.Content = $"Current chunk: {cpos.X}/{cpos.Y} ({MainWindow.world.Dimensions[DataStore.Player.DimensionId].Chunks.ContainsKey(cpos)})"); Dispatcher.Invoke(() => ChunkMap.Source = BitmapToImageSource(chunkMap)); Dispatcher.Invoke(() => ChunkView.Source = BitmapToImageSource(chunkView)); } Dispatcher.Invoke(() => Title = "MC Clone Activity Viewer | " + idgb++); } //catch (Exception) { throw; } Thread.Sleep(1000); } }); new Thread(() => { while (true) { if (!UIThr.IsAlive) { UIThr.Start(); } } }).Start(); }
private static void Game_OnGameLoad(EventArgs args) { if (ObjectManager.Player.ChampionName != "TwistedFate") { return; } Player = ObjectManager.Player; Q = new Spell(SpellSlot.Q, 1450); Q.SetSkillshot(0.25f, 40f, 1000f, false, SkillshotType.SkillshotLine); //Make the menu Config = new Menu("Twisted Fate", "TwistedFate", true); MenuTools = new Menu("Tools", "Tools"); Config.AddSubMenu(MenuTools); var SowMenu = new Menu("Orbwalking", "Orbwalking"); SOW = new Orbwalking.Orbwalker(SowMenu); MenuTools.AddSubMenu(SowMenu); /* Q */ var q = new Menu("Q - Wildcards", "Q"); { q.AddItem(new MenuItem("AutoQI", "Auto-Q immobile").SetValue(true)); q.AddItem(new MenuItem("AutoQD", "Auto-Q dashing").SetValue(true)); q.AddItem( new MenuItem("CastQ", "Cast Q (tap)").SetValue(new KeyBind("U".ToCharArray()[0], KeyBindType.Press))); Config.AddSubMenu(q); } /* W */ var w = new Menu("W - Pick a card", "W"); { w.AddItem( new MenuItem("SelectYellow", "Select Yellow").SetValue(new KeyBind("W".ToCharArray()[0], KeyBindType.Press))); w.AddItem( new MenuItem("SelectBlue", "Select Blue").SetValue(new KeyBind("E".ToCharArray()[0], KeyBindType.Press))); w.AddItem( new MenuItem("SelectRed", "Select Red").SetValue(new KeyBind("T".ToCharArray()[0], KeyBindType.Press))); Config.AddSubMenu(w); } var menuLane = new Menu("Lane", "Lane"); { menuLane.AddItem(new MenuItem("Lane.BlueCard.MinMana", "Keep up mana > % [0 = Off]").SetValue(new Slider(50, 0, 100))); Config.AddSubMenu(menuLane); } var menuItems = new Menu("Items", "Items"); { menuItems.AddItem(new MenuItem("itemBotrk", "Botrk").SetValue(true)); menuItems.AddItem(new MenuItem("itemYoumuu", "Youmuu").SetValue(true)); menuItems.AddItem( new MenuItem("itemMode", "Use items on").SetValue( new StringList(new[] { "No", "Mixed mode", "Combo mode", "Both" }, 2))); Config.AddSubMenu(menuItems); } var r = new Menu("R - Destiny", "R"); { r.AddItem(new MenuItem("AutoY", "Select yellow card after R").SetValue(true)); Config.AddSubMenu(r); } var misc = new Menu("Misc", "Misc"); { misc.AddItem(new MenuItem("PingLH", "Ping low health enemies (Only local)").SetValue(true)); misc.AddItem(new MenuItem("Misc.InstantSelection", "Anti-Cheat: Never select card instantly").SetValue(new KeyBind("G".ToCharArray()[0], KeyBindType.Toggle))).SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua).Permashow(); misc.AddItem(new MenuItem("Misc.SelectRandomCard", "Anti-Cheat: Select a random card for killable enemy").SetValue(false)).SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua).Permashow(); misc.AddItem(new MenuItem("Misc.SelectGoldCardInRisk", "Anti-Cheat: Select instantly Gold Card if I'm in risk").SetValue(false)).SetFontStyle(FontStyle.Regular, SharpDX.Color.Aqua).Permashow(); Config.AddSubMenu(misc); } //Damage after combo: var dmgAfterComboItem = new MenuItem("DamageAfterCombo", "Draw damage after combo").SetValue(true); Utility.HpBarDamageIndicator.DamageToUnit = ComboDamage; Utility.HpBarDamageIndicator.Enabled = dmgAfterComboItem.GetValue <bool>(); dmgAfterComboItem.ValueChanged += delegate(object sender, OnValueChangeEventArgs eventArgs) { Utility.HpBarDamageIndicator.Enabled = eventArgs.GetNewValue <bool>(); }; /*Drawing*/ var drawings = new Menu("Drawings", "Drawings"); { drawings.AddItem( new MenuItem("Qcircle", "Q Range").SetValue(new Circle(true, Color.FromArgb(100, 255, 0, 255)))); drawings.AddItem( new MenuItem("Rcircle", "R Range").SetValue(new Circle(true, Color.FromArgb(100, 255, 255, 255)))); drawings.AddItem( new MenuItem("Rcircle2", "R Range (minimap)").SetValue(new Circle(true, Color.FromArgb(255, 255, 255, 255)))); drawings.AddItem(dmgAfterComboItem); Config.AddSubMenu(drawings); } Config.AddItem(new MenuItem("Combo", "Combo").SetValue(new KeyBind(32, KeyBindType.Press))); Config.AddToMainMenu(); var x = new CommonBuffManager(); CommonGeometry.Init(); CommonAutoLevel.Init(MenuTools); CommonSkins.Init(MenuTools); Game.OnUpdate += Game_OnGameUpdate; Drawing.OnDraw += Drawing_OnDraw; Drawing.OnDraw += Drawing_OnDraw_PassiveTimes; Drawing.OnEndScene += DrawingOnOnEndScene; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Hero_OnProcessSpellCast; Orbwalking.BeforeAttack += OrbwalkingOnBeforeAttack; }
public override void Drawing_OnDraw(EventArgs args) { var t = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (t.LSIsValidTarget()) { Render.Circle.DrawCircle(t.Position, 105f, Color.GreenYellow); var wcCenter = ObjectManager.Player.Position.LSExtend(t.Position, ObjectManager.Player.LSDistance(t.Position) / 2); var wcLeft = ObjectManager.Player.Position.LSTo2D() + Vector2.Normalize(t.Position.LSTo2D() - ObjectManager.Player.Position.LSTo2D()) .Rotated(ObjectManager.Player.LSDistance(t.Position) < 300 ? 45 : 37 * (float)Math.PI / 180) * ObjectManager.Player.LSDistance(t.Position) / 2; var wcRight = ObjectManager.Player.Position.LSTo2D() + Vector2.Normalize(t.Position.LSTo2D() - ObjectManager.Player.Position.LSTo2D()) .Rotated(ObjectManager.Player.LSDistance(t.Position) < 300 ? -45 : -37 * (float)Math.PI / 180) * ObjectManager.Player.LSDistance(t.Position) / 2; Render.Circle.DrawCircle(wcCenter, 50f, Color.Red); Render.Circle.DrawCircle(wcLeft.To3D(), 50f, Color.Green); Render.Circle.DrawCircle(wcRight.To3D(), 50f, Color.Yellow); } //var bx = HeroManager.Enemies.Where(e => e.LSIsValidTarget(E.Range * 3)); //foreach (var n in bx) //{ // if (n.LSIsValidTarget(800) && ObjectManager.Player.Distance(n) < 450) // { // Vector3[] x = new[] { ObjectManager.Player.Position, n.Position }; // Vector2 aX = // Drawing.WorldToScreen(new Vector3(CommonGeometry.CenterOfVectors(x).X, // CommonGeometry.CenterOfVectors(x).Y, CommonGeometry.CenterOfVectors(x).Z)); // Render.Circle.DrawCircle(CommonGeometry.CenterOfVectors(x), 85f, Color.White ); // Drawing.DrawText(aX.X - 15, aX.Y - 15, Color.GreenYellow, n.ChampionName); // } //} //var enemies = HeroManager.Enemies.Where(e => e.LSIsValidTarget(1500)); //var objAiHeroes = enemies as Obj_AI_Hero[] ?? enemies.ToArray(); //IEnumerable<Obj_AI_Hero> nResult = // (from e in objAiHeroes join d in dangerousEnemies on e.ChampionName equals d select e) // .Distinct(); //foreach (var n in nResult) //{ // var x = E.GetPrediction(n).CollisionObjects.Count; // Render.Circle.DrawCircle(n.Position, (Orbwalking.GetRealAutoAttackRange(null) + 65) - 300, Color.GreenYellow); //} var nResult = HeroManager.Enemies.Where(e => e.LSIsValidTarget(E.Range * 2)); foreach (var n in nResult.Where(n => n.LSIsFacing(ObjectManager.Player))) { Render.Circle.DrawCircle(n.Position, E.Range - 200, Color.Red, 1); } LeagueSharp.Common.Spell[] spellList = { Q, W, E, R }; foreach (var spell in spellList) { var menuItem = Program.marksmanDrawings["Draw" + spell.Slot].Cast <CheckBox>().CurrentValue; if (menuItem) { Render.Circle.DrawCircle(ObjectManager.Player.Position, spell.Range, Color.FromArgb(100, 255, 255, 255)); } } }
public void CreateRenderObjects() { //Create the minimap sprite. if (Range == 1100) { _minimapSprite = new Render.Sprite(WardData.Bitmap, MinimapPosition); _minimapSprite.Scale = new Vector2(0.7f, 0.7f); _minimapSprite.PositionUpdate += () => MinimapPosition; _minimapSprite.VisibleCondition += sender => WardTracker.Config.Item("Enabled").GetValue <bool>(); _minimapSprite.Add(0); } //Create the circle: _defaultCircle = new Render.Circle(Position, 200, Color, 5, true); _defaultCircle.VisibleCondition += sender => WardTracker.Config.Item("Enabled").GetValue <bool>() && !WardTracker.Config.Item("Details").GetValue <KeyBind>().Active; _defaultCircle.Add(0); _defaultCircleFilled = new Render.Circle(Position, 200, Color.FromArgb(25, Color), -142857, true); _defaultCircleFilled.VisibleCondition += sender => WardTracker.Config.Item("Enabled").GetValue <bool>() && !WardTracker.Config.Item("Details").GetValue <KeyBind>().Active; _defaultCircleFilled.Add(-1); //Create the circle that shows the range _rangeCircle = new Render.Circle(Position, Range, Color, 10, false); _rangeCircle.VisibleCondition += sender => WardTracker.Config.Item("Enabled").GetValue <bool>() && WardTracker.Config.Item("Details").GetValue <KeyBind>().Active; _rangeCircle.Add(0); _rangeCircleFilled = new Render.Circle(Position, Range, Color.FromArgb(25, Color), -142857, true); _rangeCircleFilled.VisibleCondition += sender => WardTracker.Config.Item("Enabled").GetValue <bool>() && WardTracker.Config.Item("Details").GetValue <KeyBind>().Active; _rangeCircleFilled.Add(-1); //Missile line; if (IsFromMissile) { _missileLine = new Render.Line(new Vector2(), new Vector2(), 2, new ColorBGRA(255, 255, 255, 255)); _missileLine.EndPositionUpdate = () => Drawing.WorldToScreen(Position); _missileLine.StartPositionUpdate = () => Drawing.WorldToScreen(StartPosition); _missileLine.VisibleCondition += sender => WardTracker.Config.Item("Enabled").GetValue <bool>() && WardTracker.Config.Item("Details").GetValue <KeyBind>().Active; _missileLine.Add(0); } //Create the timer text: if (Duration != int.MaxValue) { _timerText = new Render.Text(10, 10, "t", 18, new ColorBGRA(255, 255, 255, 255)); _timerText.OutLined = true; _timerText.PositionUpdate = () => Drawing.WorldToScreen(Position); _timerText.Centered = true; _timerText.VisibleCondition += sender => WardTracker.Config.Item("Enabled").GetValue <bool>(); _timerText.TextUpdate = delegate { var t = TimeSpan.FromSeconds((EndT - Environment.TickCount) / 1000f); return((IsFromMissile ? "?? " : "") + (t.Minutes != 0 ? string.Format("{0:D1} : {1:D2}", t.Minutes, t.Seconds) : string.Format("{0:D2}", t.Seconds)) + (IsFromMissile ? " ??" : "")); }; _timerText.Add(2); } }
private static void DrawingOnOnEndScene(EventArgs args) { //if (GetValue<bool>("UseEC") && E.IsReady()) //{ // var nResult = HeroManager.Enemies.Where(e => e.LSIsValidTarget(E.Range) && E.GetPrediction(e).CollisionObjects.Count == 0).OrderBy(e => e.Distance(ObjectManager.Player)).FirstOrDefault(); // if (nResult != null) // { // var isMelee = nResult.AttackRange < 400; // if (isMelee) // { // Render.Circle.DrawCircle(nResult.Position, nResult.BoundingRadius, Color.DarkCyan, 3); // if (ObjectManager.Player.Distance(nResult) < nResult.AttackRange * 2) // { // CastE(nResult); // } // } // else // { // Render.Circle.DrawCircle(nResult.Position, nResult.BoundingRadius, Color.Gold, 3); // if (nResult.LSIsValidTarget(nResult.IsFacing(ObjectManager.Player) ? E.Range - 200 : E.Range - 400)) // { // CastE(nResult); // } // } // } //} //var enemies = // HeroManager.Enemies.Count( // e => e.Health <= R.GetDamage(e) && !e.IsDead && !e.IsZombie && e.LSIsValidTarget(R.Range)); //if (enemies > 0) //{ // for (var i = 0; i < enemies; i++) // { // var a1 = (i + 1) * 0.025f; // CommonGeometry.DrawBox(new Vector2(Drawing.Width * 0.43f, Drawing.Height * (0.700f + a1)), 150, 18, // Color.FromArgb(170, 255, 0, 0), 1, Color.Black); // CommonGeometry.Text.DrawTextCentered(HeroManager.Enemies[i].ChampionName + " Killable", // (int)(Drawing.Width * 0.475f), (int)(Drawing.Height * (0.803f + a1 - 0.093f)), SharpDX.Color.Wheat); // } //} foreach (var e in HeroManager.Enemies.Where(e => e.LSIsValidTarget(W.Range))) { if (EnemyHasBuff(e)) { var pos = e.Position.LSTo2D() .LSExtend(ObjectManager.Player.Position.LSTo2D(), ObjectManager.Player.HealthPercent < e.HealthPercent ? 100 : -100) .To3D(); Render.Circle.DrawCircle(pos, 50f, Color.Chartreuse); //if (pos.Distance(ObjectManager.Player.Position) <= W.Range) //{ // CastW(pos); //} } } if (Drawing.Direct3DDevice == null || Drawing.Direct3DDevice.IsDisposed) { return; } var x = 0; foreach (var b in ObjectManager.Player.Buffs.Where(buff => buff.DisplayName == "CaitlynHeadshotCount")) { x = b.Count; } for (var i = 1; i < 7; i++) { CommonGeometry.DrawBox( new Vector2(ObjectManager.Player.HPBarPosition.X + 23 + i * 17, ObjectManager.Player.HPBarPosition.Y + 25), 15, 4, Color.Transparent, 1, Color.Black); } var headshotReady = ObjectManager.Player.Buffs.Any(buff => buff.DisplayName == "CaitlynHeadshotReady"); for (var i = 1; i < (headshotReady ? 7 : x + 1); i++) { CommonGeometry.DrawBox( new Vector2(ObjectManager.Player.HPBarPosition.X + 24 + i * 17, ObjectManager.Player.HPBarPosition.Y + 26), 13, 3, headshotReady ? Color.Red : Color.LightGreen, 0, Color.Black); } var rCircle2 = Program.marksmanDrawings["Draw.UltiMiniMap"].Cast <CheckBox>().CurrentValue; if (rCircle2) { #pragma warning disable 618 LeagueSharp.Common.Utility.DrawCircle(ObjectManager.Player.Position, R.Range, Color.FromArgb(255, 255, 255, 255), 1, 23, true); #pragma warning restore 618 } }
/// <summary> /// Translates an Html color representation to a GDI+ <see cref='Color'/>. /// </summary> public static Color FromHtml(string htmlColor) { Color c = Color.Empty; // empty color if ((htmlColor == null) || (htmlColor.Length == 0)) { return(c); } // #RRGGBB or #RGB if ((htmlColor[0] == '#') && ((htmlColor.Length == 7) || (htmlColor.Length == 4))) { if (htmlColor.Length == 7) { c = Color.FromArgb(Convert.ToInt32(htmlColor.Substring(1, 2), 16), Convert.ToInt32(htmlColor.Substring(3, 2), 16), Convert.ToInt32(htmlColor.Substring(5, 2), 16)); } else { string r = char.ToString(htmlColor[1]); string g = char.ToString(htmlColor[2]); string b = char.ToString(htmlColor[3]); c = Color.FromArgb(Convert.ToInt32(r + r, 16), Convert.ToInt32(g + g, 16), Convert.ToInt32(b + b, 16)); } } // special case. Html requires LightGrey, but .NET uses LightGray if (c.IsEmpty && string.Equals(htmlColor, "LightGrey", StringComparison.OrdinalIgnoreCase)) { c = Color.LightGray; } // System color if (c.IsEmpty) { if (s_htmlSysColorTable == null) { InitializeHtmlSysColorTable(); } s_htmlSysColorTable !.TryGetValue(htmlColor.ToLowerInvariant(), out c); } // resort to type converter which will handle named colors if (c.IsEmpty) { try { c = ColorConverterCommon.ConvertFromString(htmlColor, CultureInfo.CurrentCulture); } catch (Exception ex) { throw new ArgumentException(ex.Message, nameof(htmlColor), ex); } } return(c); }
public override void OnManagedCreateResources() { if (!base.bNotActivated) { this.txリザルト画像がないときの画像 = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\5_preimage default.png")); if (CDTXMania.ConfigIni.bストイックモード) { this.txリザルト画像 = this.txリザルト画像がないときの画像; } else if (((!this.tリザルト画像の指定があれば構築する()) && (!this.tプレビュー画像の指定があれば構築する()))) { this.txリザルト画像 = this.txリザルト画像がないときの画像; } #region [ Generation of song title, artist name and disclaimer textures ] if (string.IsNullOrEmpty(CDTXMania.DTX.TITLE) || (!CDTXMania.bCompactMode && CDTXMania.ConfigIni.b曲名表示をdefのものにする)) { this.strSongName = CDTXMania.stageSongSelection.r現在選択中の曲.strタイトル; } else { this.strSongName = CDTXMania.DTX.TITLE; } CPrivateFastFont pfTitle = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 20, FontStyle.Regular); Bitmap bmpSongName = pfTitle.DrawPrivateFont(this.strSongName, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true); this.txSongName = CDTXMania.tGenerateTexture(bmpSongName, false); bmpSongName.Dispose(); pfTitle.Dispose(); CPrivateFastFont pfArtist = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 15, FontStyle.Regular); Bitmap bmpArtistName = pfArtist.DrawPrivateFont(CDTXMania.DTX.ARTIST, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true); this.txArtistName = CDTXMania.tGenerateTexture(bmpArtistName, false); bmpArtistName.Dispose(); pfArtist.Dispose(); if (CDTXMania.ConfigIni.nPlaySpeed != 20) { double d = (double)(CDTXMania.ConfigIni.nPlaySpeed / 20.0); String strModifiedPlaySpeed = "Play Speed: x" + d.ToString("0.000"); CPrivateFastFont pfModifiedPlaySpeed = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 18, FontStyle.Regular); Bitmap bmpModifiedPlaySpeed = pfModifiedPlaySpeed.DrawPrivateFont(strModifiedPlaySpeed, CPrivateFont.DrawMode.Edge, Color.White, Color.White, Color.Black, Color.Red, true); this.txModifiedPlaySpeed = CDTXMania.tGenerateTexture(bmpModifiedPlaySpeed, false); bmpModifiedPlaySpeed.Dispose(); pfModifiedPlaySpeed.Dispose(); } if (CDTXMania.stageResult.bIsTrainingMode) { String strResultsNotSavedTraining = "Training feature used"; CPrivateFastFont pfResultsNotSavedTraining = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 18, FontStyle.Regular); Bitmap bmpResultsNotSavedTraining = pfResultsNotSavedTraining.DrawPrivateFont(strResultsNotSavedTraining, CPrivateFont.DrawMode.Edge, Color.White, Color.White, Color.Black, Color.Red, true); this.txTrainingMode = CDTXMania.tGenerateTexture(bmpResultsNotSavedTraining, false); bmpResultsNotSavedTraining.Dispose(); pfResultsNotSavedTraining.Dispose(); } String strResultsNotSaved = "Score will not be saved"; CPrivateFastFont pfResultsNotSaved = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 18, FontStyle.Regular); Bitmap bmpResultsNotSaved = pfResultsNotSaved.DrawPrivateFont(strResultsNotSaved, CPrivateFont.DrawMode.Edge, Color.White, Color.White, Color.Black, Color.Red, true); this.txResultsNotSaved = CDTXMania.tGenerateTexture(bmpResultsNotSaved, false); bmpResultsNotSaved.Dispose(); pfResultsNotSaved.Dispose(); #endregion Bitmap bitmap2 = new Bitmap(0x3a, 0x12); Graphics graphics = Graphics.FromImage(bitmap2); graphics.Dispose(); this.txSongDifficulty = new CTexture(CDTXMania.app.Device, bitmap2, CDTXMania.TextureFormat, false); bitmap2.Dispose(); Bitmap bitmap3 = new Bitmap(100, 100); graphics = Graphics.FromImage(bitmap3); float num; //If Skill Mode is CLASSIC, always display lvl as Classic Style if (CDTXMania.ConfigIni.nSkillMode == 0 || (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && (CDTXMania.DTX.bチップがある.LeftCymbal == false) && (CDTXMania.DTX.bチップがある.LP == false) && (CDTXMania.DTX.bチップがある.LBD == false) && (CDTXMania.DTX.bチップがある.FT == false) && (CDTXMania.DTX.bチップがある.Ride == false))) { num = ((float)CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums); } else { if (CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums > 100) { num = ((float)CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums); } else { num = ((float)CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums) / 10f; } } //If Skill Mode is CLASSIC, always display lvl as Classic Style if (CDTXMania.ConfigIni.nSkillMode == 0 || (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && (CDTXMania.DTX.bチップがある.LeftCymbal == false) && (CDTXMania.DTX.bチップがある.LP == false) && (CDTXMania.DTX.bチップがある.LBD == false) && (CDTXMania.DTX.bチップがある.FT == false) && (CDTXMania.DTX.bチップがある.Ride == false) && (CDTXMania.DTX.b強制的にXG譜面にする == false))) { graphics.DrawString(string.Format("{0:00}", num), this.ftSongDifficultyFont, new SolidBrush(Color.FromArgb(0xba, 0xba, 0xba)), (float)0f, (float)-4f); } else { graphics.DrawString(string.Format("{0:0.00}", num), this.ftSongDifficultyFont, new SolidBrush(Color.FromArgb(0xba, 0xba, 0xba)), (float)0f, (float)-4f); } this.txSongLevel = new CTexture(CDTXMania.app.Device, bitmap3, CDTXMania.TextureFormat, false); graphics.Dispose(); bitmap3.Dispose(); Bitmap bitmap4 = new Bitmap(0x2a, 0x30); graphics = Graphics.FromImage(bitmap4); graphics.DrawImage(this.iDrumSpeed, new Rectangle(0, 0, 0x2a, 0x30), new Rectangle(0, CDTXMania.ConfigIni.nScrollSpeed.Drums * 0x30, 0x2a, 0x30), GraphicsUnit.Pixel); this.txDrumSpeed = new CTexture(CDTXMania.app.Device, bitmap4, CDTXMania.TextureFormat, false); graphics.Dispose(); //graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default; bitmap4.Dispose(); base.OnManagedCreateResources(); } }