Помню, что когда-то этот вопрос обсуждался, но не помню нашли ли решение ...

Подскажите пожалуйста, можно ли сделать из программы на Clarion снимок текущего экрана ?
Желательно, что бы без внешних (и тем более платных) библиотек.
Заранее спасибо.

Модератор: Дед Пахом
Игорь Столяров
Дед Пахом
Игорь Столяров
Код: Выделить всё
BugZapperClass.Construct PROCEDURE()
CODE
SELF.FreeImage &= NEW FreeImageClass
BugZapperClass.Destruct PROCEDURE()
CODE
DISPOSE(SELF.FreeImage)
REMOVE(sImageFile)
BugZapperClass.WinCapture PROCEDURE(WINDOW pWin)
CODE
SELF.FreeImage.CaptureScreen(pWin)
BugZapperClass.Display PROCEDURE(WINDOW pWin, LONG pImgCtrlFeq)
CODE
SELF.FreeImage.iImage.CopyToImageControl(pWin, pImgCtrlFeq)
Дед Пахом
Дед Пахом
Игорь Столяров
Спасибо, но не совсем так. Т.к. примеров снимка экрана в FreeImage нет, вот пример этого кода.
Код: Выделить всё
CapScreen PROCEDURE (hWindow_)
theImage cfiImageControl
Window WINDOW,AT(,,1,1),SYSTEM,GRAY,MDI
region,AT(0,0),USE(?ImageControl),FULL
end
Code
Open(Window)
Window{Prop:Hide} = True
If theImage.iImageControl.Init(?ImageControl) <> False
theImage.iImage.CaptureScreen(Int(hWindow_))
theImage.iImage.SetSaveOption(JPEG_QUALITYSUPERB)
If theImage.iImage.SaveAs('C:\CaptureScreen.jpg') = False then Message('Ошибка сохранения картинки !').
end
Close(Window)
! Пример вызова - сделать снимок главного окна программы
Start(CapScreen,25000,AppFrame{Prop:Handle})
Игорь Столяров
finsoftrz
Игорь Столяров
finsoftrz
Вернуться в «CLARION for Windows»
Создано на основе phpBB® Forum Software © phpBB Limited
Time: 0.311s | Peak Memory Usage: 1.23 МБ | GZIP: Off