|
Как уменьшить размер загруженной картинки в памяти?
|
|||
---|---|---|---|
#18+
пользователь выбирает логотип своей компании и он (логотип) сохраняется в BLOB (byte array). Если сохранить большую картинку (*.PNG на 150Мб, 7200x4200) то при следующем считывании это картинки сильно увеличивается потребление памяти: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Эта картинка показывается в маленьком окошке (5x5 см) поэтому хотелось бы его уменьшить и в размерах и в объемах, сделать более легким, чтобы и качество не потерялось, и памяти потреблялось меньше. Но делать это при загрузке из базы. Т.е. чтобы в базе хранилась все же оригинальная (большая) картинка. Как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 14:11 |
|
Как уменьшить размер загруженной картинки в памяти?
|
|||
---|---|---|---|
#18+
Наверное, нельзя хранить большой файл в базе, и при этом не жертвовать размером базы. Два вопроса 1. Почему нельзя хранить путь к файлу вместо самого файла? 2. Почему нельзя хранить превьюху (мелкую картинку) вместо большой? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 14:19 |
|
Как уменьшить размер загруженной картинки в памяти?
|
|||
---|---|---|---|
#18+
Pallaris, На данном этапе проблема не в размере базы а в потребляемой памяти при конвертации BitmapSource в Bitmap При печати нескольких отчетов (Telerik.Reporting) на которых есть этот логотип часто происходит Out Of Memory поэтому Pallaris1. Почему нельзя хранить путь к файлу вместо самого файла? этот вариант не решит проблему Pallaris2. Почему нельзя хранить превьюху (мелкую картинку) вместо большой? этот вариант решит. Но все же хотелось знать как это сделать "на лету" из кода. Т,е. примем за основу что в базе уже лежит большая картинка. А ее надо уменьшить при загрузке. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 14:30 |
|
Как уменьшить размер загруженной картинки в памяти?
|
|||
---|---|---|---|
#18+
_andrews_., ну обрежте. на этом форуме полно таких тем вот одна из них ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 14:31 |
|
Как уменьшить размер загруженной картинки в памяти?
|
|||
---|---|---|---|
#18+
beg-in-er_andrews_., ну обрежте. на этом форуме полно таких тем вот одна из них что значт "обрежьте"? Мне не надо ничего обрезать. Мне надо уменьшить ЦЕЛУЮ картинку. Мне кусок картинки не нужен. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 14:38 |
|
Как уменьшить размер загруженной картинки в памяти?
|
|||
---|---|---|---|
#18+
_andrews_., авторНа данном этапе проблема не в размере базы Я думаю, задуматься о будущем размере базы не помешает уже сейчас (ну, если планируется ее интенсивно использовать) Как на лету менять размер изображения - ну, наверняка есть какие-то библиотеки, которые умеют менять разрешение картинки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 14:46 |
|
Как уменьшить размер загруженной картинки в памяти?
|
|||
---|---|---|---|
#18+
_andrews_.пользователь выбирает логотип своей компании и он (логотип) сохраняется в BLOB (byte array). Если сохранить большую картинку (*.PNG на 150Мб, 7200x4200) то при следующем считывании это картинки сильно увеличивается потребление памяти: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Эта картинка показывается в маленьком окошке (5x5 см) поэтому хотелось бы его уменьшить и в размерах и в объемах, сделать более легким, чтобы и качество не потерялось, и памяти потреблялось меньше. Но делать это при загрузке из базы. Т.е. чтобы в базе хранилась все же оригинальная (большая) картинка. Как это сделать? GetThumbnailImage ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 16:00 |
|
Как уменьшить размер загруженной картинки в памяти?
|
|||
---|---|---|---|
#18+
pationGetThumbnailImage Я это пробовал, не понравилось. докаМетод GetThumbnailImage работает без проблем, когда размеры запрошенного эскиза равны приблизительно 120 x 120 пикселей. Если запросить эскиз большого размера (например, 300 x 300) из объекта Image, который имеет внедренный эскиз, возможна заметная потеря качества изображения эскиза. Возможно, лучше будет масштабировать основное изображение (вместо изменения масштаба внедренного эскиза) с помощью вызова метода DrawImage. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 19:07 |
|
|
start [/forum/topic.php?fid=20&fpage=171&tid=1404979]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 170ms |
0 / 0 |