screenshot

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

vbman
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 20.11.2003 (Чт) 11:26

screenshot

Сообщение vbman » 20.11.2003 (Чт) 11:34

Знаю, что можно быстро делать снимки экрана с помощью DirectDraw, но не знаю как реализовать это в непосредственно в коде. Помогите пожайлуста!

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 21.11.2003 (Пт) 21:21

Лови:
Dim RC as RECT
Dim dds4Back As DirectDrawSurface4 (измени по своей задаче)
Dim ScreenShotsCount As Integer

If ScreenShotsCount > 15 Then Exit Sub
With RC
.Top = 0
.Left = 0
.Bottom = 600
.Right = 800
End With
dds4Back.BltToDC Me.hDC, RC, RC
SavePicture Me.Image, "ScShot" & Format(Str(ScreenShotsCount), "##") & ".bmp"
ScreenShotsCount = ScreenShotsCount + 1

vbman
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 20.11.2003 (Чт) 11:26

Сообщение vbman » 21.11.2003 (Пт) 23:29

На строке
Код: Выделить всё
dds4Back.BltToDC Me.hDC, RC, RC

выдаёт ошибку:
Object variable or With block variable not set

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 22.11.2003 (Сб) 14:13

Без паники! Все получится.
Ты обратил внимание на слова "(измени по своей задаче)"
Этот пример для директ3д, для директдрав должно быть

Dim "Имя поверхности" As DirectDrawSurface7

Эта строка фактически не нужна (только для примера)! Если картинка на экране, значит поверхность уже давно создана (ессно в режиме директдрав). Используй её.

Имя поверхности.BltToDC Me.hDC, RC, RC

vbman
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 20.11.2003 (Чт) 11:26

Сообщение vbman » 23.11.2003 (Вс) 11:38

OK! Спасибо Yurich!


Вернуться в Мультимедиа

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

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

    TopList