![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
crazynetwork |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 16.10.2009 Репутация: нет Всего: нет |
В интернеты не посылать, уже все что есть прочитано.
И так: 1. Программа "Удаленный рабочий стол" 2. Делаю скрин в Bitmap 3. Bitmap перевожу в Jpeg 4. Jpeg (пробовал и Bitmap) сохраняю в MemoryStream И тут то начинается самое интересное. Очень медленная работа строки
http://www.delphimaster.net/view/8-1111615744/all http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=41300 Это сообщение отредактировал(а) crazynetwork - 9.5.2016, 13:46 |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Ничего странного. В указанном примере в файл сохраняется бмп, а в поток сохраняется jpeg. Это не просто сохранение в поток, это кодирование в jpeg, с последующим сохранением в поток. Jpeg это дискретное косинусное преобразование + Хаффман. Сам алгоритм сжатия в делфи реализован на С++ с использованием опен сорс библиотеки libjpeg . Есть несколько путей решения. Если вам так понравился jpeg, то можно использовать его версию для сжатия потокового видео - https://ru.wikipedia.org/wiki/MJPEG . Можно использовать более быструю библиотеку libjpeg-turbo , можно использовать кодеки, которые имеют аппаратную реализацию на видеокарте или на процессоре https://software.intel.com/en-us/intel-ipp . -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
crazynetwork |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 16.10.2009 Репутация: нет Всего: нет |
Пробовал заюзать libjpeg-turbo но что то так и не получилось. Может быть у вас есть пример как взять BMP, кодировать в JPEG и сохранить его в MemoryStream. ? Добавлено через 6 минут и 29 секунд Или для моей задачи надо вовсе использовать другой алгоритм действий? |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Да, там товарищ, который написал варпер сделал только пример загрузки (cgJpeg.pas) функцию сохранения нужно писать по аналогии
jpeg_create_compress jpeg_start_compress jpeg_write_scanlines jpeg_finish_compress Чего и как делать для записи можно подсмотреть в оригинальной библиотке на С https://raw.githubusercontent.com/libjpeg-t...aster/example.c write_JPEG_file Документацию по функциями jpeg_start_compress/jpeg_start_compress/jpeg_write_scanlines/jpeg_finish_compress Можно найти тут https://raw.githubusercontent.com/libjpeg-t...ter/libjpeg.txt -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Хотя смотрю нашелся еще товарищ, который написал свой варпер
http://victor-vik.blogspot.md/2014/10/libj...-in-delphi.html
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |