| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Загрузка картинки |
| Автор: andrey_pro 19.10.2009, 18:20 | ||
| У меня на форме есть контрол PictureBox в него я загружаю картинку которая лежит на диске. Сам PictureBox имеет размеры 150х150, а сама картинка очень большая 4mb. Из-за большова размера загрузка тормозит. написал код, при загрузке картинка уменьшается до нужного размера и занимает мало памяти:
Сейчас нормально картинка обрезается, и занимает мало памяти (на форме у меня много таких картинок), НО загрузка всеравно долгая! Есть ли простой способ реализовать загрузку картинки. |
| Автор: explorer 19.10.2009, 18:51 |
| Загрузка долгая, потому что все еще обрабатывается большая картинка (перед тем, как она будет уменьшена). Можно попробовать отдельный поток на загрузку картинки. Будет работать быстрее, но потребует затрат сил и времени на организацию многопоточности. Если картинки все время загружаются одни и те же, то имеет смысл их импортировать в ресурсы, предварительно уменьшив с помощью любого редактора до нужного размера. |
| Автор: andrey_pro 19.10.2009, 21:32 |
| Картинки и так загружаю в отдельном потоке, не в этом дело. Вот если открыть простую папку и в ней сделать вид "Эскизы страниц", то картинки в этой папке грузятся намного быстрее. Я вот хочу организовать подобное на своей форме. |
| Автор: nmn 20.10.2009, 02:03 | ||
Эскизы хранятся в Thumbs.db |
| Автор: andrey_pro 20.10.2009, 10:22 |
| А как можно прочитать Thumbs.db? |
| Автор: nmn 20.10.2009, 18:49 |
| http://ru.wikipedia.org/wiki/Thumbs.db http://www.vsj.co.uk/articles/display.asp?id=628 |
| Автор: andrey_pro 3.11.2009, 10:11 |
| Ну а всетаки можно как нибудь быстрее картинки загружить не из Thumbs.db? Может есть специальные библиотеки для этого? |
| Автор: nmn 3.11.2009, 11:38 | ||
заранее загружать, а потом просто показывать, ACDSee тоже не мгновенно загружает |
| Автор: andrey_pro 3.11.2009, 14:51 |
| Дело в том что в ACDSee загружаются картинки гораздо быстрее чем у меня! Хочу так же быстро! |
| Автор: andrey_pro 5.11.2009, 08:31 |
| никто не знает? очень надо. |
| Автор: Zakonnic 5.11.2009, 15:01 |
| Расставьте брекпоинты и выделите самый долгоиграющий кусок. Запостите его сюда. Если в ACDSee картинка загружается быстро, значит она не такая уж большая. |
| Автор: nmn 5.11.2009, 15:17 | ||
лучше профайлером, в 2005 студии был встроенный |
| Автор: andrey_pro 6.11.2009, 10:46 |
| Потестировал на время загружал последовательно 10 рисунков по 4 мб. на метод new Bitmap(filename) - 6 сек. на ConvertImage2(Bitmap inBmp) - 4 сек. итого получается 10 сек. меня интересует как можно загружать быстро картики (new Bitmap(filename)) ? |
| Автор: Zakonnic 6.11.2009, 14:22 | ||
Попробуй что-то вроде этого, должно быть чуть быстрее:
|
| Автор: andrey_pro 20.11.2009, 10:57 |
| никто не знает? |