AdvancedLauncher.UI.Controls.DigiRotation.GetDigimonImage C# (CSharp) Method

GetDigimonImage() public method

public GetDigimonImage ( int digimonId ) : BitmapImage
digimonId int
return System.Windows.Media.Imaging.BitmapImage
        public BitmapImage GetDigimonImage(int digimonId)
        {
            DigiImage image = ImagesCollection.Find(i => i.Id == digimonId);
            if (image.Image != null) {
                return image.Image;
            }

            string resource = EnvironmentManager.ResolveResource(DIGIROTATION_DIR,
                string.Format(PNG_FORMAT, digimonId),
                string.Format(URLUtils.DIGIROTATION_IMAGE_REMOTE_FORMAT, digimonId));

            if (resource != null) {
                Stream str = File.OpenRead(resource);
                if (str == null) {
                    return null;
                }
                MemoryStream img_stream = new MemoryStream();
                str.CopyTo(img_stream);
                str.Close();
                try {
                    BitmapImage bitmap = new BitmapImage();
                    bitmap.BeginInit();
                    bitmap.StreamSource = img_stream;
                    bitmap.EndInit();
                    bitmap.Freeze();
                    ImagesCollection.Add(new DigiImage() {
                        Image = bitmap,
                        Id = digimonId
                    });
                    return bitmap;
                } catch (Exception) { }
            }
            return null;
        }