![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Nightwish |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.3.2004 Репутация: нет Всего: нет |
Здравствуйте.
Возможно ли узнать размер изображения который находится в image? |
|||
|
||||
| Nightwish |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.3.2004 Репутация: нет Всего: нет |
Забыл уточнить.
Размер файла находящийся в image. |
|||
|
||||
| serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: нет Всего: 1 |
What?
-------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Nightwish
Бери высоту, ширену и глубину цвета и все это перемножай |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Запоминаешь файл при присвоение, и при помощи FileSize(f) определяешь его размер
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 4 Всего: 54 |
alex-co по-моему Nightwish спрашивает размер файла уже загруженного в TImage...
Др. Nightwish размер файла определить трудно, т.к. в TImage он хранится в TBitmap, но на жесткий диск может сохраняться в различных форматах, каждый из которых имеет свою кодировку изображения, и соотв. занимает разное место... Даже TBitmap, сохраненный в LengthEncoding занимает меньше места, чем чистый Bitmap... Будь добр, уточни для каких целей тебе необходимо определить размер файла, тогда проще будет тебе помочь... -------------------- ![]() |
|||
|
||||
| Nightwish |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.3.2004 Репутация: нет Всего: нет |
Да действительно мне нужен размер файла уже загруженного в Image.
Функция FileSize тут не подходит, т.к. файл мне сохранять не нужно, а нужно узнать сколько весит картинка загруженная в Image из буфера. |
|||
|
||||
| Nightwish |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 1.3.2004 Репутация: нет Всего: нет |
Т.е. файла как такого ещё нет, но нужно узнать если его сохранить сколько будет весить.
|
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
kesh поясни, что такое LengthEncoding. На сколько отличается реальный размер bmp от того, который возвращает LengthEncoding?
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 4 Всего: 54 |
alex-co Ну смотри. Обычный bmp кодируется как есть bit map, т.е. сохраняются цвета для каждого пиксела, соотв. размер файла есть height*width*1(3)byte_per_pixel+HeaderSize, где (1 - GrayScale (серый), 3 - RGB). Пиксельное поле кодируется по строкам, начиная с нижней. Т.е. картинка загружается снизу-вверх, слева-направо... (ИМХО классная задумка для порносайтов - загружать картинки снизу
LengthEncoding действует по-другому... Он записывает битовое поле так: Сейчас 1 пиксель цвета FFFFFF, затем три пиксела цвета FFCCFF, потом еще 2 пиксела цвета FFFFFF и т.д. т.е. идет примерно так 01FFFFFF03FFCCFF02FFFFFF и т.д. На немногоцветных рисунках это дает неплохие результаты. Кстати, если не ошибаюсь, примерно также действует gif... P.S. Перечитал и сам себя не понял... Если ты тоже не понял - пиши, попытаюсь объяснить доходчивее... -------------------- ![]() |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Не, гифы по-другому, там LZW (или как там называлось, уже толком не помню), посложнее на порядок метод... Но это уже оффтопик...
1) А при загрузке из буффера нельзя запомнить размер в переменной или в Image1.Tag ? 2) Если же писать на диск нельзя - пиши в память (в TMemoryStream), метод у Bitmap'а SaveToStream... -------------------- С уважением, г-н Посол. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |