Про картинки и их сжатие

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GRS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 186
Зарегистрирован: 29.02.2004 (Вс) 22:23
Откуда: Казахстан, Алматы

Про картинки и их сжатие

Сообщение GRS » 21.01.2005 (Пт) 14:32

Привет!

Вопрос, собственно, следующий:
есть удаленная сеть компьютеров, подключаюсь к ней через интернет, 256 kbit/s. Даю серверу запрос на нужный компьютер, он мне открывает доступ. Что происходит: с нужного компьютера мне идет изображение его рабочего стола, при необходимости получаю управление мышью и клавиатурой. Клиентская, серверная часть - всё пишу сам. Пока думаю использовать winsock. Один канал для команд на удаленный компьютер, там моя программа анализирует и производит действия, при этом возвращает по другому каналу "видео" того что происходит. А вот теперь проблема. Скрин экрана. Я нашел, как сделать этот скрин, даже как сохранить его, но при этом на разрешении 1024 уходит по меньшей мере 2-3 с. только на сохранение. И, ладно бы, но размер файла 2,2 мб. У меня , хоть и 256, но k/bit, пардон. Т.е. я хотел организовать поток из файлов, а моя часть программы уже бы "клеила". В этом свете хочется знать: насколько идея утопична? (1 вопр.) Можно ли использовать какое-то сжатие размеров (ШИРИНА/ВЫСОТА) еще в процессе сохранения файла картинки, дабы весил он поменьше? Мне бы хватило 50% от первоначального разрешения. (2 вопр.) Второе: сразу в jpg - это реально? Тут решается проблема рамера. Все же легче. Может моя реализация не самая удачная и кто предложит альтернативу? Тоже было бы интересно. Буду рад, если кто просвятит.
Встану рано утром, выпью чашку ртути... Всё равно я сдохну в этом институте...

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 21.01.2005 (Пт) 14:36

Привет бывший земляк!

У меня была таже проблемма (большой размер картинки).
Я просто сжимал в jpg, использовал компонент PicFormat

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 21.01.2005 (Пт) 14:40

-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 21.01.2005 (Пт) 14:43

_Мика_ писал(а):http://bbs.vbstreets.ru/download.php?id=1650

если использовать GDI+, то компах с ОС 9x надо ставить дополнительные компоненты.

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 21.01.2005 (Пт) 14:45

Sirik писал(а):
_Мика_ писал(а):http://bbs.vbstreets.ru/download.php?id=1650

если использовать GDI+, то компах с ОС 9x надо ставить дополнительные компоненты.
А что же делать! :D
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 21.01.2005 (Пт) 14:51

использовать PicFormat32

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.01.2005 (Пт) 14:52

Sirik писал(а):
_Мика_ писал(а):http://bbs.vbstreets.ru/download.php?id=1650

если использовать GDI+, то компах с ОС 9x надо ставить дополнительные компоненты.
А на компах с Win31 вообще не пойдёт.
А на Спектрумах - даже скачать отсюда этот файл не удастся...
И т.д.

Тяжело поставить, что ли?
Изображение

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 21.01.2005 (Пт) 15:14

2tyomitch
Я так и знал, что ты внесёшь свою лепту за GDI+. Просто ждал этого

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.01.2005 (Пт) 15:34

Sirik писал(а):2tyomitch
Я так и знал, что ты внесёшь свою лепту за GDI+. Просто ждал этого
Мне по статусу положено ;-)
Изображение

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 21.01.2005 (Пт) 16:15

Сжатие в JPG процесс довольно медленный и на обычных формах все одно файл получается довольно большой. Альтернатива - форматы GIF/PNG. GIF лучше тем что поддерживается стандартными контролами, но он 256-и цветный и не все кодеры корректно сохраняют палитру. PNG насчет этого лучше. По крайней мере когда я делал скриншотер для своих юзеров, то сохранял в PNG/JPG. PNG-обычные формы, JPG-рисунки.

А вообще лучше пользуйте тот-же принцип что и

http://www.demoforge.com

Вот на этой страничке можете глянуть сколько времени занимает запись работы программы и размер файла с ней:

http://www.demoforge.com/demos.htm

:lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 21.01.2005 (Пт) 20:44

А цель состоит именно в том, чтобы написать такую программу, или чтобы просто иметь возможность удаленного доступа? А то ведь есть программа Remote Desktop...
Быть... или не быть. Вот. В чём вопрос?

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 21.01.2005 (Пт) 23:13

Нужно полученный скрин перевести в 16 цветовую гамму и передавать уже его. Размер будет маленьким... попробуй сохранить скрин в паинт и перевести его в 16 цветную систему... во-во. Кстати, можно специальным софтом отловить АПИшки, которые юзают сам паинт.

Далее грузишь Гугль и вводишь название Апи + слово "бейсик" и качаешь пример :)
«Каждому программисту ЭВМ выдает то, что он заслуживает» (c)

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 22.01.2005 (Сб) 2:40

Я тоже делал такую прогу, и там сжимал jpeg'ом с помощью Intel Jpeg Library FPS 1-4 кадра.
الفيجوال بيسك الرابح

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.01.2005 (Сб) 8:27

PUNK-GRUNGER писал(а):Нужно полученный скрин перевести в 16 цветовую гамму и передавать уже его. Размер будет маленьким... попробуй сохранить скрин в паинт и перевести его в 16 цветную систему... во-во. Кстати, можно специальным софтом отловить АПИшки, которые юзают сам паинт.

Далее грузишь Гугль и вводишь название Апи + слово "бейсик" и качаешь пример :)

Я тебе не глядя в mspaint скажу, что он юзает - CreateBitmap + BitBlt ;-)
Изображение

GRS
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 186
Зарегистрирован: 29.02.2004 (Вс) 22:23
Откуда: Казахстан, Алматы

Сообщение GRS » 22.01.2005 (Сб) 17:26

Спасибо, в принципе понятно. Только одного не догоняю: сначала в bmp потом в jpg? блин - это ж долго! Как ускорить? И потом про png - мне как в него сохранять? Я так понимаю нужны дополнительные API или контролы для сохранения в этом формате?
Встану рано утром, выпью чашку ртути... Всё равно я сдохну в этом институте...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.01.2005 (Сб) 18:09

GRS, как насчёт GDI+? Им и в PNG можно сохранять ;-)
Изображение

Inferno
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 26.01.2005 (Ср) 1:06

Сообщение Inferno » 26.01.2005 (Ср) 1:54

Можно ускорить передавая только изменившуюся информацию.
Т.Е. у тебя есть шаблон с которым ты сравниваешь отсекаешь все ненужное а нужное передаешь. Идея вобщем-то не нова.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 13

    TopList