public static Sprite CreateRadrarIcon(Obj_AI_Hero hero, System.Drawing.Color color, int opacity = 60) { var texturePtr = hero.SquareIconPortrait; Bitmap srcBitmap; if (texturePtr == IntPtr.Zero) { Console.WriteLine("Can't find image: " + hero.ChampionName); srcBitmap = (Bitmap)Resource1.ResourceManager.GetObject("Default"); } else { srcBitmap = (Bitmap)Image.FromStream(BaseTexture.ToStream(new BaseTexture(texturePtr), SharpDX.Direct3D9.ImageFileFormat.Bmp)); } var img = new Bitmap(srcBitmap.Width + 20, srcBitmap.Width + 20); var cropRect = new System.Drawing.Rectangle(0, 0, srcBitmap.Width, srcBitmap.Width); using (Bitmap sourceImage = srcBitmap) { using (Bitmap croppedImage = sourceImage.Clone(cropRect, sourceImage.PixelFormat)) { using (var tb = new TextureBrush(croppedImage)) { using (Graphics g = Graphics.FromImage(img)) { g.SmoothingMode = SmoothingMode.AntiAlias; g.FillEllipse(tb, 0, 0, srcBitmap.Width, srcBitmap.Width); var p = new Pen(color, 5) { Alignment = PenAlignment.Inset }; g.DrawEllipse(p, 0, 0, srcBitmap.Width, srcBitmap.Width); } } } } srcBitmap.Dispose(); Sprite finalSprite = new Sprite(ChangeOpacity(img, opacity), Vector2.Zero); //finalSprite.X = -25; finalSprite.Scale = new Vector2(1f, 1f); //finalSprite.Color = System.Drawing.Color.LightGray; return(finalSprite); }
public static Sprite CreateSummonerSprite(SpellDataInst spell) { var texturePtr = spell.IconTexture; Bitmap srcBitmap; if (texturePtr == IntPtr.Zero) { Console.WriteLine("Can't find image: " + spell.Name); srcBitmap = (Bitmap)Resource1.ResourceManager.GetObject("Default"); } else { srcBitmap = (Bitmap)Image.FromStream(BaseTexture.ToStream(new BaseTexture(texturePtr), SharpDX.Direct3D9.ImageFileFormat.Bmp)); } if (srcBitmap.Width > 64 || srcBitmap.Height > 64) { srcBitmap = ResizeBitmap(srcBitmap, 64, 64); } var img = new Bitmap(srcBitmap.Width + 2, srcBitmap.Width + 2); var cropRect = new System.Drawing.Rectangle(0, 0, srcBitmap.Width, srcBitmap.Width); using (Bitmap sourceImage = srcBitmap) { using (Bitmap croppedImage = sourceImage.Clone(cropRect, sourceImage.PixelFormat)) { using (var tb = new TextureBrush(croppedImage)) { using (Graphics g = Graphics.FromImage(img)) { g.SmoothingMode = SmoothingMode.AntiAlias; g.FillEllipse(tb, 0, 0, srcBitmap.Width, srcBitmap.Width); } } } } srcBitmap.Dispose(); Sprite finalSprite = new Sprite(img, Vector2.Zero); return(finalSprite); }