PurplePen.OcadCreation.BitmapsToWrite C# (CSharp) Method

BitmapsToWrite() private method

private BitmapsToWrite ( ) : ICollection
return ICollection
        private ICollection<BitmapToWrite> BitmapsToWrite()
        {
            Dictionary<string, BitmapToWrite> bitmapsToWrite = new Dictionary<string, BitmapToWrite>();

            foreach (Special special in eventDB.AllSpecials) {
                if (special.kind == SpecialKind.Image) {
                    string name = special.text;
                    string path = Path.GetFullPath(Path.Combine(creationSettings.outputDirectory, special.text));
                    ImageFormat format = special.imageBitmap.RawFormat;

                    if (creationSettings.fileFormat.kind == MapFileFormatKind.OCAD && creationSettings.fileFormat.version <= 10 && format.Guid == ImageFormat.Png.Guid) {
                        // Versions prior to 10 don't handle PNG. Use gif instead.
                        format = ImageFormat.Gif;
                        path = Path.ChangeExtension(path, ".gif");
                    }

                    if (!bitmapsToWrite.ContainsKey(name))
                        bitmapsToWrite.Add(name, new BitmapToWrite() { Name = name, FullPath = path, Bitmap = special.imageBitmap, Format = format });
                }
            }

            return bitmapsToWrite.Values;
        }