Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > [VC#] Bitmap.Rotate() - Переворот .bmp


Автор: MuForum 21.9.2008, 22:14
Доброе время суток!
- Столкнулся со следующей проблемой, мне необходимо делать разворот картинки на 90°.

Код

        private static Bitmap _img = null;
        private static Bitmap _cimg = null;]
......
        public static void RotateFlip(int Value)
        {
            if (_Status && _cimg != null)
            {
                try
                {
                    switch (Value)
                    {
                        case 90:
                        {
                            _cimg.RotateFlip(RotateFlipType.Rotate90FlipNone);
                            _img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                        }
                        break;
                        case -90:
                        {
                            _cimg.RotateFlip(RotateFlipType.Rotate90FlipXY);
                            _img.RotateFlip(RotateFlipType.Rotate90FlipXY);
                        }
                        break;
                        case 180:
                        {
                            _cimg.RotateFlip(RotateFlipType.Rotate180FlipNone);
                            _img.RotateFlip(RotateFlipType.Rotate180FlipNone);
                        }
                        break;
                        default: break;
                    }
                }
                catch (Exception)
                {
                    _cimg = null;
                    _cimg = (Bitmap)_img.Clone();
                }
            }
        }

- Код отрабатывает без проблем все файлы, кроме файлов '.bmp' (8 bits).
- При попытке развернуть файл .bmp вылетает ошибка:
Цитата

ExternalExtension was unhandled
A generic error occurred in GDI+.



# Добавлено: Оказалось, что это происходит из-за следующего кода:
Код

g_img = (Bitmap)bmp.Clone();

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)