Screenshot части экрана

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Screenshot части экрана

Сообщение Sanya Z » 19.06.2004 (Сб) 7:13

Хочу поинтересоваться у знающих людей. Мож кто сталкивался с этим...
Мне нужно снять скриншот куска формы, нет ли какой либо функции, позволяющей указывать координаты для снятия скрина? :? :arrow:
И пусть в моих поступках не было логики...

Lord_Satan
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 08.12.2001 (Сб) 10:26
Откуда: П.-К.

Сообщение Lord_Satan » 19.06.2004 (Сб) 8:09

Возьми hDC формы
и bitblt копирую нужный тебе кусок на другой hDC
или через ДирестИКС
или контролами ВБ
или через SAFEARRAY скопируй нужную часть в цикле
Space Ace says: "Whant to be a DREAD courier?"

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.06.2004 (Сб) 11:42

Последнему варианту респект!
Ставить SAFEARRAY на persistent bitmap - это круто :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Lord_Satan
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 08.12.2001 (Сб) 10:26
Откуда: П.-К.

Сообщение Lord_Satan » 19.06.2004 (Сб) 14:17

из всех контролируемых тобой методов, этот самый быстрый
не надо использовать CopyMemory, GetMem и PutMem они медленные
исключение состовляет CopyMemory когда копируеш построчно
большей скорости в ВБ ты не добьёшся
Space Ace says: "Whant to be a DREAD courier?"

Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Сообщение Sanya Z » 20.06.2004 (Вс) 10:01

Ребят, можете показать пример, а то на словах я не понимаю, т.к. не профессионал:)
И пусть в моих поступках не было логики...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.06.2004 (Вс) 10:09

Lord_Satan писал(а):из всех контролируемых тобой методов

:shock: :) :D :lol:
Lord_Satan писал(а):GetMem и PutMem они медленные

Чел, имей совесть. Ты их код видел?
Код: Выделить всё
mov eax, [esp+4]
mov ecx, [esp+8]
mov eax, [eax]
mov [ecx], eax
xor eax, eax

Пять тиков. Всего.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Сообщение Sanya Z » 20.06.2004 (Вс) 13:54

Ну дык а мне полный код на VB скажете? Какие API использовать и какие операторы вставить???!!!
И пусть в моих поступках не было логики...

Lord_Satan
Обычный пользователь
Обычный пользователь
 
Сообщения: 76
Зарегистрирован: 08.12.2001 (Сб) 10:26
Откуда: П.-К.

Сообщение Lord_Satan » 20.06.2004 (Вс) 18:52

GSerg писал(а):
Lord_Satan писал(а):из всех контролируемых тобой методов

:shock: :) :D :lol:
Lord_Satan писал(а):GetMem и PutMem они медленные

Чел, имей совесть. Ты их код видел?
Код: Выделить всё
mov eax, [esp+4]
mov ecx, [esp+8]
mov eax, [eax]
mov [ecx], eax
xor eax, eax

Пять тиков. Всего.


На практике, в откомпиленом виде,
обычное присвоение в 3 быстрее чем Get и PutMem

Sanya Z писал(а):Ну дык а мне полный код на VB скажете? Какие API использовать и какие операторы вставить???!!!


На этом сайте есть уже примеры, иСЧи в исходниках
или в ya.ru набери что нибуть вроде
<(vb | visual basic) (bitblt | strechblt) >
Space Ace says: "Whant to be a DREAD courier?"

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

Сообщение Andrey Fedorov » 21.06.2004 (Пн) 9:01

Сходи по ссылке:

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=43136&lngWId=1

Там моя старенькая утилитка - граббер экрана.

К ней еще скачай и зарегистри [url]http://www.vbaccelerator.com/codelib/ssu
btmr/ssubtmr6.zip[/url]

Программка потом несколько улучшалась, но последней версии сейчас под рукой нет, но и так в качестве примера будет неплохо :wink:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

    TopList