1 | |
Как передать скриншот (принтскрин) по TCP ?25.06.2013, 16:38. Показов 6818. Ответов 45
Метки нет (Все метки)
Всем привет!
Интересует 2 вещи:
0
|
25.06.2013, 16:38 | |
Ответы с готовыми решениями:
45
Как сделать скриншот и передать его? Socket TCP на C++. Как передать данные в формате JSON Как сделать принтскрин из программы?? Передать по TCP |
Модератор
|
||||||
02.07.2013, 15:50 | 21 | |||||
Сообщение было отмечено The trick как решение
Решение
Вот накидал небольшой примерчик, сохранение без буфера обмена в байтовый массив с жатием Jpeg. Этот массив можно передавать. Если откомпилировать со всеми 6-ю оптимизациями, довольно быстро будет обрабатываться.
3
|
02.07.2013, 17:41 | 23 |
Согласен, закодировать можно, но это ли требуется?. К сожалению по мимо затрат времени на кодирование это ведет к увеличению результирующего размера. Мы же стремимся эти параметры уменьшить.
1
|
02.07.2013, 18:09 [ТС] | 24 |
The trick,
реально шустро работает и самое главное делает готовый байтовый массив. Половины я не понимаю из того что там происходит (пока работа с хендалами и прочими вещами для меня остаётся загадкой).. но у меня к сожалению данный код выцепляет из буфера картинку и сохраняет её, а не скрин =( Причем в буфер её помещает даже не он (код).
0
|
Модератор
|
|
02.07.2013, 21:17 | 25 |
@Bati4eli, Посмотрел твой код, во-первых он работает нормально, просто сохраняет в "d:\program files\microsoft visual studio\vb98\vb6.jpg". Так что я не пойму в чем проблема-то?
0
|
03.07.2013, 15:47 [ТС] | 26 |
Долго пытался понять к чему вы это.. потом глянул код униса и понял. Ни его и не ваш вариант не работает у меня вне бэйсика, компилирую прогу, запускаю и получается только картинка с черным изображением.
Запуская это дело из бэйсика получается скриншот, но только тот который когда-то попал в буфер обмена, т.е. нажми в любое время кнопку PrintScrn и запусти этот код из бэйсика и получишь скрин.
0
|
Модератор
|
|
03.07.2013, 15:55 | 27 |
Что-то ты путаешь, по крайней мере у меня и еще на нескольких компах код отлично работает. Буфер никак не может влиять в моем коде, т.к. я попросту вообще никаким местом не прикасаюсь к нему, нет ни одной инструкции где используется буфер. Так что проверяй код.
0
|
Модератор
|
||||||
04.07.2013, 11:30 | 30 | |||||
Сообщение было отмечено The trick как решение
Решение
Bati4eli,Странно... Попробуй создай DC и в него отрисуй с GetDC(0), а уже из картинки выбранной в созданный DC делай GetDIBits.
Добавлено через 6 минут
2
|
Модератор
|
||||||
04.07.2013, 14:27 | 32 | |||||
Сообщение было отмечено The trick как решение
Решение
2
|
04.07.2013, 17:02 | 36 |
Это не просто Win32API, это ещё в довесок библиотека GDI+, работа с которой требует отдельного описания. Если по использованию Win32API в VB6 книжка целая есть, то вот по использованию GDI+ при помощи Win32API похоже такой уже никогда не будет, а возможности там по рисованию достаточно широкие.
1
|
39 / 39 / 8
Регистрация: 15.08.2014
Сообщений: 625
|
|
28.01.2018, 20:54 | 37 |
Всем привет!
можно финальную версию? Задача таже, но просто сброс скрина в Jpg файл...
0
|
Модератор
|
|
28.01.2018, 21:40 | 38 |
1
|
39 / 39 / 8
Регистрация: 15.08.2014
Сообщений: 625
|
||||||
29.01.2018, 07:22 | 39 | |||||
Ругается на:
0
|
29.01.2018, 08:19 | 40 | |||||
0
|
29.01.2018, 08:19 | |
29.01.2018, 08:19 | |
Помогаю со студенческими работами здесь
40
Передать int по TCP TCP: на клиента передать видеоизображение Передать xml файл по tcp Передать массив byte по TCP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |