Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
goodd21
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 31
1

Параметры разного типа

15.07.2013, 18:20. Просмотров 1035. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Пишу приложение по обработке изображений разных форматов. Для этого использую декодеры (BmpBitmapDecoder, JpegBitmapDecoder ,...). Методы обработки похожими, но с отличием в инициализации декодера.

Код
private void createBitmapSourceForBMP(){           
FileStream stream = new FileStream(pathToImage, FileMode.Open, FileAccess.Read, FileShare.Read);
BmpBitmapDecoder bmpDecoder = new BmpBitmapDecoder(stream,
   BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
bitmapSource = bmpDecoder.Frames[0];

.....
}
и
Код
private void createBitmapSourceForJPEG(){           
Uri uri = new Uri(@pathToImage);
JpegBitmapDecoder jpegDecoder = new JpegBitmapDecoder(uri,
   BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
bitmapSource = jpegDecoder.Frames[0];

.......
}
Вопрос: можно ли сделать общий метод с передачей нужного декодера в аргументе? Если да, то как?

Спасибо!
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2013, 18:20
Ответы с готовыми решениями:

Массив объектов разного типа
Здравствуйте. Столкнулся с такой проблемой: "Создать класс пропусков студентов...

Сравнение переменных разного типа
Не задача, просто любопытно, почему именно так? static void Main(string...

Коллекция для объектов разного типа
Помогите кто-нибудь определить коллекцию. Нужна коллекция, которая была бы...

Создать массив с переменными разного типа
Вроде бы простой массив такой нельзя сделать. А надо -слить одномерный...

Создание списка с 2 полями разного типа
Здравствуйте. Подскажите пожалуйста, как можно создать список с 2 полями...

2
tezaurismosis
Администратор
Эксперт .NET
8595 / 3892 / 730
Регистрация: 17.04.2012
Сообщений: 8,662
Записей в блоге: 14
15.07.2013, 18:50 2
Лучший ответ Сообщение было отмечено goodd21 как решение

Решение

System.Windows.Media.Imaging.BmpBitmapDecoder
System.Windows.Media.Imaging.GifBitmapDecoder
System.Windows.Media.Imaging.IconBitmapDecoder
System.Windows.Media.Imaging.JpegBitmapDecoder
System.Windows.Media.Imaging.LateBoundBitmapDecoder
System.Windows.Media.Imaging.PngBitmapDecoder
System.Windows.Media.Imaging.TiffBitmapDecoder
System.Windows.Media.Imaging.WmpBitmapDecoder
Все эти классы наследуются от System.Windows.Media.Imaging.BitmapDecoder, а значит, можно сделать метод, принимающий BitmapDecoder
C#
1
void createImageSource(System.Windows.Media.Imaging.BitmapDecoder decoder)
И в теле метода приводить этот тип к необходимому - будь то JpegBitmapDecoder или другой
C#
1
var jDecoder = (JpegBitmapDecoder)decoder;
1
goodd21
3 / 3 / 0
Регистрация: 13.04.2012
Сообщений: 31
15.07.2013, 18:56  [ТС] 3
Спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2013, 18:56

Как создать массив,имеющий несколько значений разного типа на один индекс?
Массив вида: Первый элемент:"Какой-то текст",5 Второй элемент:"Текст",12 ...

Создать класс с полями разного типа (string, int и тд) в которые будет записываться соответствующая информация
Необходимо создать класс с полями разного типа (string, int и тд) в которые...

Передача двух переменных разного типа с клиента серверу
Хочу передать переменную типа float и строку типа string с асинхронного клиента...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru