Снимок экрана на Linux
Довольно простая реализация создания скриншота в Linux. В примере делается снимок всего экрана , но можно сделать скриншот любой области , правда придется немного поправить исходник. Скриншот не сохраняется в файл , а просто выводится в окно. При желании , я думаю любой сможет добавить BSAVE и сохранить в bmp. Я тестировал на Linux Mint 64-bit.
Платформа: Linux
Автор: Станислав Будинов
#undef Window #INCLUDE "X11/Xlib.bi" #INCLUDE "X11/Xutil.bi" #INCLIB "X11" #INCLUDE "crt.bi" Dim As Display Ptr pDisplay = XOpenDisplay(0) Dim As Window pRoot = DefaultRootWindow(pDisplay) Dim As XWindowAttributes TAttributes(0) XGetWindowAttributes(pDisplay, pRoot, @TAttributes(0)) Dim As Integer iWidth = TAttributes(0).width Dim As Integer iHeight = TAttributes(0).height Dim As XImage Ptr xImg = XGetImage(pDisplay, pRoot, 0, 0 , iWidth, iHeight, AllPlanes, ZPixmap) Screenres iWidth , iHeight , 32 Dim pImage As Any Ptr Dim pPixels As Any Ptr pImage = Imagecreate(iWidth , iHeight , 32) ImageInfo( pImage,,,,,pPixels ) memcpy(pPixels, xImg->Data, iWidth * iHeight * 4) Put (0,0),pImage XDestroyImage(xImg) XCloseDisplay(pDisplay) Sleep