![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Proxin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: 1 Всего: 3 |
В общем, как? Известна высота изображения и ширина. Рылся в сети - ничего не нашёл.
|
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
? -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Proxin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: 1 Всего: 3 |
Гениально, да. Но не то.
У меня есть файлстрим, в который напихана ещё куча информации. С определённой позиции начианается рисунок. Конец рисунка - не конец файла. Я знаю размеры рисунка (высота и ширина). Куда мне его можно считать и как вывести потом на bitmap? |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Как вы задали вопрос, так я и ответил ![]() Устанавливаете позицию курсора в потоке на нужную позицию и ...
Всё будет ОК ;) Добавлено @ 20:48 Ну и что? LoadFromStream знает когда остановиться. Это сообщение отредактировал(а) artsb - 26.12.2009, 20:48 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Можно создать промежуточный TMemoryStream и в него сливать картинку. Добавлено через 1 минуту и 51 секунду К сожалению нет. TBitmap тупо читает до конца файла. В связи с этим иногда бывают проблемы, в частности с битмапами 64х64, 256х256 (текстуры) -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Странно. Я много раз так делал. До сих пор никаких проблем не было... Добавлено через 2 минуты и 14 секунд Тогда можно при сохранении, сначала сохранить изображение в промежуточный поток, потом в основной поток записать размер потока с картинкой и саму картинку. А при чтении читаем размер картинки, а потом во временный поток саму картинку и уже из него в битмап. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Proxin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: 1 Всего: 3 |
Вот так должно быть?
|
|||
|
||||
artsb |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Напишу на С++
Добавлено @ 22:16 А. Ну да. Только установка ширины и высоты излишни. И читайте кусок потока через метод CopyFrom. А перед этой строкой:
Обязательно позицию курсора в ноль нужно поставить. Иначе ничего не выйдет ![]() Это сообщение отредактировал(а) artsb - 26.12.2009, 22:40 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Вот это вызывает сомнение
filestr.read(memorystr,bytescount); Думаю тут должен быть CopyFrom -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Упс. Вы правы. А я почему-то везде написал просто Copy. ![]() Добавлено через 2 минуты и 18 секунд мне кажется, что это вообще работать не должно. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Proxin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: 1 Всего: 3 |
сделал с помощью copyfrom. появляется ошибка "bitmap image is not valid" - это значит, что я его не оттуда копирую?
|
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Возможно... А в поток вы как сохраняли? SaveToStream? -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Proxin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: 1 Всего: 3 |
Это вообще не мой файл - пытаюсь делать парсилку по открытому формату.
Описание дано так: screenshotdata=3*width*height. Width и height я получаю правильно, смотрел с помощью другой парсилки. А вот сам битмап получить по этой технологии уже как-то не получается. Ещё заметил, что начало файла как-то странно читается - если даже сиком позицию после открытия установить в ноль, то символы читаются начиная со второго только. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 1 Всего: 64 |
Ещё бы знать, как они сохраняют картинку... А вы уверены, что там битмап? Может там JPEG?
Не понял. Где разворачиваются события? Добавлено через 7 минут и 1 секунду Побольше бы информации... -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Proxin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: 1 Всего: 3 |
rgb - три бита на пиксель без компрессии есть битмап самый натуральный. или я не прав?
ещё, если это поможет - вот описание структуры файла. конкретно интересует поле screenshot. может, я что-то неправильно понял (ширину и высоту получаю нормально) ? Это сообщение отредактировал(а) Proxin - 22.3.2010, 15:47 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |