| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Загрузка изображений в кэш |
| Автор: Salatovec 25.4.2010, 17:56 | ||
| Доброго всем времени суток, подскажите - в какой контейнер можно подгрузить изображения, независимо от их расширения, поясню: есть ряд изображений расширения bmp и jpeg, мне их необходимо подгрузить с жёсткого диска в кэш, а после последовательно (с какой то частотой кадров) вывести на экран. Со второй частью задачи проблем нету, а вот с первой - есть. Раньше, когда была задача с одним типом файлов, например бмп, делал так:
И после, в этот контейнер, по циклу пихал изображения. Но теперь одними бмпхами не отделаешься =\ Заранее спасибо! |
| Автор: Sosed 25.4.2010, 18:30 | ||
Если для всех видов изображения есть свои классы(TBitmap ...), то возможно так:
А когда выводим кастим из void в нужный тип поглядывая на type |
| Автор: mes 25.4.2010, 19:25 |
| а можно конвертировать при загрузке в общий тип изображения. |
| Автор: xvr 26.4.2010, 12:53 |
| DirectShow выводит все, что выводится |
| Автор: SenkraD 26.4.2010, 13:05 |
| Salatovec, на сколько я понял, то это Builder и, если память не изменяет, там у всех этих классов картинок был общий предок (TPicture, кажись) - вот и храни указатели на него в векторе. |
| Автор: Salatovec 26.4.2010, 19:11 | ||
| SenkraD, вот этот вариант, думаю, больше всего мне подходит Делаю так:
На последнюю строчку компилятор ругается. Что не так? |
| Автор: mes 26.4.2010, 20:34 | ||
| Salatovec, обратите внимание, что вызывали new один раз хотя картинок предполагаете 10.. к тому же хранить указатели на объекты в векторы нужно очень осторжно, поэтому не желательно.. ошибка скорей всего из за того, что указатель надо разьименовывать перед присваиванием.. хотя было бы с Вашей стороны было б повежливей не скрывать текст, заставляя форумчан ломать голову, а привести текст ошибки. ну вообшем должно быть примерно следущее:
|
| Автор: xvr 26.4.2010, 22:04 | ||
|
| Автор: Salatovec 26.4.2010, 23:16 | ||
mes, делаю так, как Вы сказали:
Когда программа доходит до последней строчки, выдаётся сообщение о следующей ошибке: Project Project1.exe raised exception class EAccessViolation with message 'Access violation at adress 004289E3 in module 'Project1.exe'. Read of adress 00000000'. |
| Автор: mes 26.4.2010, 23:20 |
я сказал не так.. посмотрите что хранит вектор у меня, а что у Вас .. |
| Автор: Alexeis 27.4.2010, 09:21 | ||
Во всем виновата проклятая звездочка |
| Автор: Salatovec 27.4.2010, 11:57 | ||
| mes, точно, недоглядел Теперь ругается на:
[BCC32 Error] Main.cpp(167): E2034 Cannot convert 'TPicture' to 'TPicture *' |
| Автор: mrbrooks 27.4.2010, 12:29 | ||
|
| Автор: Salatovec 27.4.2010, 12:49 |
| mrbrooks, спасибо, работает Ток вопрос возник, а pic не надо делитить? |