Java 类com.sun.jna.platform.win32.WinDef.HDC 实例源码

项目:Mem-Eater-Bug    文件:User32Util.java   
/**
 * Gets the icon that corresponds to a given icon handler.
 * 
 * @param hIcon
 *            Handler to the icon to get
 * @return The icon that corresponds to a given icon handler
 */
public static BufferedImage getIcon(final HICON hIcon) {
    final int width = ICON_SIZE;
    final int height = ICON_SIZE;
    final short depth = ICON_DEPTH;
    final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

    final Memory lpBitsColor = new Memory(width * height * depth / ICON_BYTE_SIZE);
    final Memory lpBitsMask = new Memory(width * height * depth / ICON_BYTE_SIZE);
    final BITMAPINFO info = new BITMAPINFO();
    final BITMAPINFOHEADER hdr = new BITMAPINFOHEADER();
    info.bmiHeader = hdr;
    hdr.biWidth = width;
    hdr.biHeight = height;
    hdr.biPlanes = 1;
    hdr.biBitCount = depth;
    hdr.biCompression = WinGDI.BI_RGB;

    final HDC hDC = User32.INSTANCE.GetDC(null);
    final ICONINFO piconinfo = new ICONINFO();
    User32.INSTANCE.GetIconInfo(hIcon, piconinfo);

    GDI32.INSTANCE.GetDIBits(hDC, piconinfo.hbmColor, 0, height, lpBitsColor, info, WinGDI.DIB_RGB_COLORS);
    GDI32.INSTANCE.GetDIBits(hDC, piconinfo.hbmMask, 0, height, lpBitsMask, info, WinGDI.DIB_RGB_COLORS);

    int r, g, b, a, argb;
    int x = 0, y = height - 1;
    for (int i = 0; i < lpBitsColor.size(); i = i + 3) {
        b = lpBitsColor.getByte(i) & 0xFF;
        g = lpBitsColor.getByte(i + 1) & 0xFF;
        r = lpBitsColor.getByte(i + 2) & 0xFF;
        a = 0xFF - lpBitsMask.getByte(i) & 0xFF;

        argb = a << 24 | r << 16 | g << 8 | b;
        image.setRGB(x, y, argb);
        x = (x + 1) % width;
        if (x == 0) {
            y--;
        }
    }

    User32.INSTANCE.ReleaseDC(null, hDC);
    GDI32.INSTANCE.DeleteObject(piconinfo.hbmColor);
    GDI32.INSTANCE.DeleteObject(piconinfo.hbmMask);

    return image;
}
项目:MonitorBrightness    文件:MonitorInfoDemo.java   
/**
 * @param args (ignored)
 */
public static void main(String[] args)
{
    System.out.println("Installed Physical Monitors: " + User32.INSTANCE.GetSystemMetrics(WinUser.SM_CMONITORS));

    User32.INSTANCE.EnumDisplayMonitors(null, null, new MONITORENUMPROC() {

        @Override
        public int apply(HMONITOR hMonitor, HDC hdc, RECT rect, LPARAM lparam)
        {
            enumerate(hMonitor);

            return 1;
        }

    }, new LPARAM(0));
}
项目:AppWoksUtils    文件:Paint.java   
public BufferedImage capture(final HWND hWnd) {

        final HDC hdcWindow = User32.INSTANCE.GetDC(hWnd);
        final HDC hdcMemDC = GDI32.INSTANCE.CreateCompatibleDC(hdcWindow);

        final RECT bounds = new RECT();
        User32Extra.INSTANCE.GetClientRect(hWnd, bounds);

        final int width = bounds.right - bounds.left;
        final int height = bounds.bottom - bounds.top;
        if (width * height <= 0) { return null; }
        final HBITMAP hBitmap = GDI32.INSTANCE.CreateCompatibleBitmap(hdcWindow, width, height);

        final HANDLE hOld = GDI32.INSTANCE.SelectObject(hdcMemDC, hBitmap);
        GDI32Extra.INSTANCE.BitBlt(hdcMemDC, 0, 0, width, height, hdcWindow, 0, 0, WinGDIExtra.SRCCOPY);

        GDI32.INSTANCE.SelectObject(hdcMemDC, hOld);
        GDI32.INSTANCE.DeleteDC(hdcMemDC);

        final BITMAPINFO bmi = new BITMAPINFO();
        bmi.bmiHeader.biWidth = width;
        bmi.bmiHeader.biHeight = -height;
        bmi.bmiHeader.biPlanes = 1;
        bmi.bmiHeader.biBitCount = 32;
        bmi.bmiHeader.biCompression = WinGDI.BI_RGB;

        final Memory buffer = new Memory(width * height * 4);
        GDI32.INSTANCE.GetDIBits(hdcWindow, hBitmap, 0, height, buffer, bmi, WinGDI.DIB_RGB_COLORS);

        final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        image.setRGB(0, 0, width, height, buffer.getIntArray(0, width * height), 0, width);

        GDI32.INSTANCE.DeleteObject(hBitmap);
        User32.INSTANCE.ReleaseDC(hWnd, hdcWindow);

        return image;

    }
项目:sc2gears    文件:OrigJNAScreenShot.java   
public static BufferedImage getScreenshot( final Rectangle bounds ) {
    HDC windowDC = GDI.GetDC( USER.GetDesktopWindow() );
    HBITMAP outputBitmap = GDI.CreateCompatibleBitmap( windowDC, bounds.width, bounds.height );
    try {
        HDC blitDC = GDI.CreateCompatibleDC( windowDC );
        try {
            HANDLE oldBitmap = GDI.SelectObject( blitDC, outputBitmap );
            try {
                GDI.BitBlt( blitDC, 0, 0, bounds.width, bounds.height, windowDC, bounds.x, bounds.y, GDI32.SRCCOPY );
            } finally {
                GDI.SelectObject( blitDC, oldBitmap );
            }
            BITMAPINFO bi = new BITMAPINFO( 40 );
            bi.bmiHeader.biSize = 40;
            boolean ok = GDI.GetDIBits( blitDC, outputBitmap, 0, bounds.height, (byte[]) null, bi, WinGDI.DIB_RGB_COLORS );
            if ( ok ) {
                BITMAPINFOHEADER bih = bi.bmiHeader;
                bih.biHeight = -Math.abs( bih.biHeight );
                bi.bmiHeader.biCompression = 0;
                return bufferedImageFromBitmap( blitDC, outputBitmap, bi );
            } else
                return null;
        } finally {
            GDI.DeleteObject( blitDC );
        }
    } finally {
        GDI.DeleteObject( outputBitmap );
    }
}
项目:MonitorBrightness    文件:MonitorControllerJna.java   
public MonitorControllerJna()
{
    System.out.println("Monitors: " + User32.INSTANCE.GetSystemMetrics(User32.SM_CMONITORS));

    User32.INSTANCE.EnumDisplayMonitors(null, null, new MONITORENUMPROC() {

        @Override
        public int apply(HMONITOR hMonitor, HDC hdc, RECT rect, LPARAM lparam)
        {
            System.out.println("Monitor handle: " + hMonitor);

            MONITORINFOEX info = new MONITORINFOEX();
            User32.INSTANCE.GetMonitorInfo(hMonitor, info);
            System.out.println(info.rcMonitor);

            DWORDByReference pdwNumberOfPhysicalMonitors = new DWORDByReference();
            Dxva2.INSTANCE.GetNumberOfPhysicalMonitorsFromHMONITOR(hMonitor, pdwNumberOfPhysicalMonitors);
            int monitorCount = pdwNumberOfPhysicalMonitors.getValue().intValue();

            System.out.println("Physical monitors for " + hMonitor + ": " + monitorCount);

            PHYSICAL_MONITOR[] physMons = new PHYSICAL_MONITOR[monitorCount];
            Dxva2.INSTANCE.GetPhysicalMonitorsFromHMONITOR(hMonitor, monitorCount, physMons);

            for (PHYSICAL_MONITOR mon : physMons)
            {
                String desc = new String(mon.szPhysicalMonitorDescription);
                monitors.add(new MonitorJna(mon.hPhysicalMonitor, desc));
            }

            return 1;
        }
    }, new LPARAM(0));
}
项目:AppWoksUtils    文件:Main.java   
public static BufferedImage getImageByHICON(final int width, final int height, final HANDLE hicon, final BITMAPINFOHEADER info) {
    final IconInfo iconinfo = new org.appwork.jna.winapi.structs.IconInfo();

    try {
        // GDI32 g32 = GDI32.INSTANCE;

        // get icon information

        if (!User.I.GetIconInfo(new HICON(hicon.getPointer()), iconinfo)) { return null; }
        final HWND hwdn = new HWND();
        final HDC dc = User32.INSTANCE.GetDC(hwdn);

        if (dc == null) {

        return null; }
        try {
            final int nBits = width * height * 4;
            // final BitmapInfo bmi = new BitmapInfo(1);

            final Memory colorBitsMem = new Memory(nBits);
            // // Extract the color bitmap
            final BITMAPINFO bmi = new WinGDI.BITMAPINFO();

            bmi.bmiHeader.biWidth = width;
            bmi.bmiHeader.biHeight = -height;
            bmi.bmiHeader.biPlanes = 1;
            bmi.bmiHeader.biBitCount = 32;
            bmi.bmiHeader.biCompression = WinGDI.BI_RGB;
            GDI32.INSTANCE.GetDIBits(dc, iconinfo.hbmColor, 0, height, colorBitsMem, bmi, WinGDI.DIB_RGB_COLORS);
            // g32.GetDIBits(dc, iconinfo.hbmColor, 0, size, colorBitsMem,
            // bmi,
            // GDI32.DIB_RGB_COLORS);
            final int[] colorBits = colorBitsMem.getIntArray(0, width * height);
            if (info.biBitCount < 32) {
                final Memory maskBitsMem = new Memory(nBits);
                // // Extract the mask bitmap
                GDI32.INSTANCE.GetDIBits(dc, iconinfo.hbmMask, 0, height, maskBitsMem, bmi, WinGDI.DIB_PAL_COLORS);
                // g32.GetDIBits(dc, iconinfo.hbmMask, 0, size,
                // maskBitsMem,
                // bmi,
                // // GDI32.DIB_RGB_COLORS);
                final int[] maskBits = maskBitsMem.getIntArray(0, width * height);
                // // // Copy the mask alphas into the color bits
                for (int i = 0; i < colorBits.length; i++) {
                    colorBits[i] = colorBits[i] | (maskBits[i] != 0 ? 0 : 0xFF000000);
                }
            }
            final BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
            bi.setRGB(0, 0, width, height, colorBits, 0, height);
            return bi;
        } finally {
            com.sun.jna.platform.win32.User32.INSTANCE.ReleaseDC(hwdn, dc);
        }
    } finally {
        User32.INSTANCE.DestroyIcon(new HICON(hicon.getPointer()));
        GDI32.INSTANCE.DeleteObject(iconinfo.hbmColor);
        GDI32.INSTANCE.DeleteObject(iconinfo.hbmMask);
    }
}
项目:AppWoksUtils    文件:FileIconExporter.java   
public static BufferedImage getImageByHICON(final int width, final int height, final HANDLE hicon) {
    final IconInfo iconinfo = new org.appwork.jna.winapi.structs.IconInfo();

    try {
        // GDI32 g32 = GDI32.INSTANCE;

        // get icon information

        if (!org.appwork.jna.winapi.user32.User.I.GetIconInfo(new HICON(hicon.getPointer()), iconinfo)) { return null; }
        final HWND hwdn = new HWND();
        final HDC dc = User32.INSTANCE.GetDC(hwdn);

        if (dc == null) {

        return null; }
        try {
            final int nBits = width * height * 4;
            // final BitmapInfo bmi = new BitmapInfo(1);

            final Memory colorBitsMem = new Memory(nBits);
            // // Extract the color bitmap
            final BITMAPINFO bmi = new WinGDI.BITMAPINFO();

            bmi.bmiHeader.biWidth = width;
            bmi.bmiHeader.biHeight = -height;
            bmi.bmiHeader.biPlanes = 1;
            bmi.bmiHeader.biBitCount = 32;
            bmi.bmiHeader.biCompression = WinGDI.BI_RGB;
            GDI32.INSTANCE.GetDIBits(dc, iconinfo.hbmColor, 0, height, colorBitsMem, bmi, WinGDI.DIB_RGB_COLORS);
            // g32.GetDIBits(dc, iconinfo.hbmColor, 0, size, colorBitsMem,
            // bmi,
            // GDI32.DIB_RGB_COLORS);
            final int[] colorBits = colorBitsMem.getIntArray(0, width * height);
            // final Memory maskBitsMem = new Memory(nBits);
            // // // Extract the mask bitmap
            // GDI32.INSTANCE.GetDIBits(dc, iconinfo.hbmMask, 0, height,
            // maskBitsMem, bmi, WinGDI.DIB_PAL_COLORS);
            // // g32.GetDIBits(dc, iconinfo.hbmMask, 0, size, maskBitsMem,
            // bmi,
            // // GDI32.DIB_RGB_COLORS);
            // final int[] maskBits = maskBitsMem.getIntArray(0, width *
            // height);
            // // // Copy the mask alphas into the color bits
            // for (int i = 0; i < colorBits.length; i++) {
            // colorBits[i] = colorBits[i] | (maskBits[i] != 0 ? 0 :
            // 0xFF000000);
            // }
            // // Release DC
            // Main.u32.ReleaseDC(0, dc);

            //

            // // Release bitmap handle in icon info
            // g32.DeleteObject(iconinfo.hbmColor); // add
            // g32.DeleteObject(iconinfo.hbmMask); // add

            final BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
            bi.setRGB(0, 0, width, height, colorBits, 0, height);
            return bi;
        } finally {
            com.sun.jna.platform.win32.User32.INSTANCE.ReleaseDC(hwdn, dc);
        }
    } finally {
        User32.INSTANCE.DestroyIcon(new HICON(hicon.getPointer()));
        GDI32.INSTANCE.DeleteObject(iconinfo.hbmColor);
        GDI32.INSTANCE.DeleteObject(iconinfo.hbmMask);
    }
}
项目:Hearthtracker    文件:HearthRobot.java   
public static BufferedImage _captureAero(HWND hwnd, Rectangle bounds) {
    //RDW_FRAME | RDW_INVALIDATE | RDW_ERASE | RDW_UPDATENOW | RDW_ALLCHILDREN 
    int flags = 0x0400 | 0x0001 | 0x0004 | 0x0100 | 0x0080;

    HWND tagetHwnd = hwnd;

    HDC windowDC = GDI.GetDC(tagetHwnd);
       HBITMAP outputBitmap = GDI.CreateCompatibleBitmap(windowDC, bounds.width, bounds.height);

       try{
        HDC blitDC = GDI.CreateCompatibleDC(windowDC);
        try{
               HANDLE oldBitmap =
                       GDI.SelectObject(blitDC, outputBitmap);

               USER.RedrawWindow(tagetHwnd, null, null, flags);

               if(USER.PrintWindow(tagetHwnd, blitDC, 1)){
                GDI.SelectObject(blitDC, oldBitmap);

                WinGDI.BITMAPINFO bi = new WinGDI.BITMAPINFO(40);
                bi.bmiHeader.biSize = 40;
                boolean ok =
                         GDI.GetDIBits(blitDC, outputBitmap, 0, bounds.height,
                         (byte[]) null, bi, WinGDI.DIB_RGB_COLORS);
                if (ok) {
                    WinGDI.BITMAPINFOHEADER bih = bi.bmiHeader;
                    bih.biHeight = -Math.abs(bih.biHeight);
                    bi.bmiHeader.biCompression = 0;
                    return bufferedImageFromBitmap(blitDC, outputBitmap, bi);
                } else {
                    return null;
                }
               }
        } finally{
            GDI.DeleteObject(blitDC);
        }
       } finally {
           GDI.DeleteObject(outputBitmap);
           GDI.DeleteObject(windowDC);
       }
    return null;
}
项目:Hearthtracker    文件:HearthRobot.java   
public static BufferedImage _capture(HWND hwnd, Rectangle bounds) {
    HDC windowDC = null;

    if(hwnd == null){
        windowDC = GDI.GetDC(USER.GetDesktopWindow());
    } else {
        windowDC = GDI.GetDC(hwnd);
    }

    HBITMAP outputBitmap =
            GDI.CreateCompatibleBitmap(windowDC,
            bounds.width, bounds.height);

    try {
        WinDef.HDC blitDC = GDI.CreateCompatibleDC(windowDC);
        try {
            WinNT.HANDLE oldBitmap =
                    GDI.SelectObject(blitDC, outputBitmap);
            try {
                GDI.BitBlt(blitDC,
                        0, 0, bounds.width, bounds.height,
                        windowDC,
                        bounds.x, bounds.y,
                        GDI32.SRCCOPY);
            } finally {
                GDI.SelectObject(blitDC, oldBitmap);
            }
            WinGDI.BITMAPINFO bi = new WinGDI.BITMAPINFO(40);
            bi.bmiHeader.biSize = 40;
            boolean ok =
                    GDI.GetDIBits(blitDC, outputBitmap, 0, bounds.height,
                    (byte[]) null, bi, WinGDI.DIB_RGB_COLORS);
            if (ok) {
                WinGDI.BITMAPINFOHEADER bih = bi.bmiHeader;
                bih.biHeight = -Math.abs(bih.biHeight);
                bi.bmiHeader.biCompression = 0;
                return bufferedImageFromBitmap(blitDC, outputBitmap, bi);
            } else {
                return null;
            }
        } finally {
            GDI.DeleteObject(blitDC);
        }
    } finally {
        GDI.DeleteObject(outputBitmap);
        GDI.DeleteObject(windowDC);
    }
}
项目:Hearthtracker    文件:HearthRobot.java   
boolean BitBlt(HDC hdcDest, int nXDest, int nYDest,
int nWidth, int nHeight, HDC hdcSrc,
int nXSrc, int nYSrc, int dwRop);
项目:Hearthtracker    文件:HearthRobot.java   
boolean GetDIBits(HDC dc, HBITMAP bmp, int startScan, int scanLines,
byte[] pixels, BITMAPINFO bi, int usage);
项目:Hearthtracker    文件:HearthRobot.java   
boolean GetDIBits(HDC dc, HBITMAP bmp, int startScan, int scanLines,
short[] pixels, BITMAPINFO bi, int usage);
项目:Hearthtracker    文件:HearthRobot.java   
boolean GetDIBits(HDC dc, HBITMAP bmp, int startScan, int scanLines,
int[] pixels, BITMAPINFO bi, int usage);
项目:peeknick    文件:Paint.java   
private static BufferedImage capture(HWND hWnd) throws WindowNotFoundException {

    HDC hdcWindow = User32.INSTANCE.GetDC(hWnd);
    HDC hdcMemDC = GDI32.INSTANCE.CreateCompatibleDC(hdcWindow);

    RECT bounds = new RECT();
    User32Extra.INSTANCE.GetClientRect(hWnd, bounds);

    int width = bounds.right - bounds.left;
    int height = bounds.bottom - bounds.top;

    if(width == 0 || height == 0) throw new peeknick.errormanager.WindowNotFoundException();

    HBITMAP hBitmap = GDI32.INSTANCE.CreateCompatibleBitmap(hdcWindow, width, height);

    HANDLE hOld = GDI32.INSTANCE.SelectObject(hdcMemDC, hBitmap);
    GDI32Extra.INSTANCE.BitBlt(hdcMemDC, 0, 0, width, height, hdcWindow, 0, 0, WinGDIExtra.SRCCOPY);

    GDI32.INSTANCE.SelectObject(hdcMemDC, hOld);
    GDI32.INSTANCE.DeleteDC(hdcMemDC);

    BITMAPINFO bmi = new BITMAPINFO();
    bmi.bmiHeader.biWidth = width;
    bmi.bmiHeader.biHeight = -height;
    bmi.bmiHeader.biPlanes = 1;
    bmi.bmiHeader.biBitCount = 32;
    bmi.bmiHeader.biCompression = WinGDI.BI_RGB;

    Memory buffer = new Memory(width * height * 4);
    GDI32.INSTANCE.GetDIBits(hdcWindow, hBitmap, 0, height, buffer, bmi, WinGDI.DIB_RGB_COLORS);

    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    image.setRGB(0, 0, width, height, buffer.getIntArray(0, width * height), 0, width);

    GDI32.INSTANCE.DeleteObject(hBitmap);
    User32.INSTANCE.ReleaseDC(hWnd, hdcWindow);

    return image;

  }
项目:jpexs-decompiler    文件:Gdi32.java   
/**
 * The SetPixel function sets the pixel at the specified coordinates to the
 * specified color.
 *
 * @param hDC Handle to the device context.
 * @param x Specifies the x-coordinate, in logical units, of the point to be
 * set.
 * @param y Specifies the y-coordinate, in logical units, of the point to be
 * set.
 * @param crColor Specifies the color to be used to paint the point. To
 * create a COLORREF color value, use the RGB macro.
 * @return If the function succeeds, the return value is the RGB value that
 * the function sets the pixel to. This value may differ from the color
 * specified by crColor; that occurs when an exact match for the specified
 * color cannot be found. If the function fails, the return value is 1. To
 * get extended error information, call GetLastError. This can be the
 * following value.
 */
int SetPixel(HDC hDC, int x, int y, int crColor);
项目:jpexs-decompiler    文件:Gdi32.java   
/**
 * The CreateCompatibleDC function creates a memory device context (DC)
 * compatible with the specified device.
 *
 * @param hDC Handle to an existing DC. If this handle is NULL, the function
 * creates a memory DC compatible with the application's current screen.
 * @return If the function succeeds, the return value is the handle to a
 * memory DC. If the function fails, the return value is NULL. To get
 * extended error information, call GetLastError.
 */
HDC CreateCompatibleDC(HDC hDC);
项目:jpexs-decompiler    文件:Gdi32.java   
/**
 * The DeleteDC function deletes the specified device context (DC).
 *
 * @param hDC Handle to the device context.
 * @return If the function succeeds, the return value is nonzero. If the
 * function fails, the return value is zero. To get extended error
 * information, call GetLastError.
 */
boolean DeleteDC(HDC hDC);
项目:jpexs-decompiler    文件:Gdi32.java   
/**
 * The CreateDIBitmap function creates a compatible bitmap (DDB) from a DIB
 * and, optionally, sets the bitmap bits.
 *
 * @param hDC Handle to a device context.
 * @param lpbmih Pointer to a bitmap information header structure, which may
 * be one of those shown in the following table.
 * @param fdwInit Specifies how the system initializes the bitmap bits.
 * @param lpbInit Pointer to an array of bytes containing the initial bitmap
 * data.
 * @param lpbmi Pointer to a BITMAPINFO structure that describes the
 * dimensions and color format of the array pointed to by the lpbInit
 * parameter.
 * @param fuUsage Specifies whether the bmiColors member of the BITMAPINFO
 * structure was initialized and, if so, whether bmiColors contains explicit
 * red, green, blue (RGB) values or palette indexes. The fuUsage parameter
 * must be one of the following values.
 * @return If the function succeeds, the return value is a handle to the
 * compatible bitmap. If the function fails, the return value is NULL. To
 * get extended error information, call GetLastError.
 */
HBITMAP CreateDIBitmap(HDC hDC, BITMAPINFOHEADER lpbmih, int fdwInit,
        Pointer lpbInit, BITMAPINFO lpbmi, int fuUsage);
项目:jpexs-decompiler    文件:Gdi32.java   
/**
 * The CreateDIBSection function creates a DIB that applications can write
 * to directly. The function gives you a pointer to the location of the
 * bitmap bit values. You can supply a handle to a file-mapping object that
 * the function will use to create the bitmap, or you can let the system
 * allocate the memory for the bitmap.
 *
 * @param hDC Handle to a device context. If the value of iUsage is
 * DIB_PAL_COLORS, the function uses this device context's logical palette
 * to initialize the DIB colors.
 * @param pbmi Pointer to a BITMAPINFO structure that specifies various
 * attributes of the DIB, including the bitmap dimensions and colors.
 * @param iUsage Specifies the type of data contained in the bmiColors array
 * member of the BITMAPINFO structure pointed to by pbmi (either logical
 * palette indexes or literal RGB values).
 * @param ppvBits Pointer to a variable that receives a pointer to the
 * location of the DIB bit values.
 * @param hSection Handle to a file-mapping object that the function will
 * use to create the DIB. This parameter can be NULL.
 * @param dwOffset Specifies the offset from the beginning of the
 * file-mapping object referenced by hSection where storage for the bitmap
 * bit values is to begin.
 * @return Specifies the offset from the beginning of the file-mapping
 * object referenced by hSection where storage for the bitmap bit values is
 * to begin.
 */
HBITMAP CreateDIBSection(HDC hDC, BITMAPINFO pbmi, int iUsage,
        PointerByReference ppvBits, Pointer hSection, int dwOffset);
项目:jpexs-decompiler    文件:Gdi32.java   
/**
 * The CreateCompatibleBitmap function creates a bitmap compatible with the
 * device that is associated with the specified device context.
 *
 * @param hDC Handle to a device context.
 * @param width Specifies the bitmap width, in pixels.
 * @param height Specifies the bitmap height, in pixels.
 * @return If the function succeeds, the return value is a handle to the
 * compatible bitmap (DDB). If the function fails, the return value is NULL.
 * To get extended error information, call GetLastError.
 */
HBITMAP CreateCompatibleBitmap(HDC hDC, int width, int height);
项目:jpexs-decompiler    文件:Gdi32.java   
/**
 * The SelectObject function selects an object into the specified device
 * context (DC). The new object replaces the previous object of the same
 * type.
 *
 * @param hDC Handle to the DC.
 * @param hGDIObj Handle to the object to be selected.
 * @return If the selected object is not a region and the function succeeds,
 * the return value is a handle to the object being replaced. If the
 * selected object is a region and the function succeeds, the return value
 * is one of the REGION values.
 */
HANDLE SelectObject(HDC hDC, HANDLE hGDIObj);
项目:jpexs-decompiler    文件:Gdi32.java   
/**
 * The GetDeviceCaps function retrieves device-specific information for the
 * specified device.
 *
 * @param hdc A handle to the DC.
 * @param nIndex The item to be returned.
 * @return The return value specifies the value of the desired item. When
 * <i>nIndex</i> is <code>BITSPIXEL</code> and the device has 15bpp or
 * 16bpp, the return value is 16.
 */
int GetDeviceCaps(HDC hdc, int nIndex);
项目:jpexs-decompiler    文件:Gdi32.java   
/**
 * The GetDIBits function retrieves the bits fo the specified compatible
 * bitmap and copies them into a buffer as a DIB using the specified format.
 *
 * @param hdc A handle to the device context.
 * @param hbmp A handle to the bitmap. This must be a compatible bitmap
 * (DDB).
 * @param uStartScan The first scan line to retrieve
 * @param cScanLines The number of scan lines to retrieve.
 * @param lpvBits A pointer to a buffer to receive the bitmap data. If this
 * parameter is <code>null</code>, the function passes the dimensions and
 * format of the bitmap to the {@link BITMAPINFO} structure pointed to by
 * the <i>lpbi</i> parameter.
 * @param lpbi A pointer to a {@link BITMAPINFO} structure that specifies
 * the desired format for the DIB data.
 * @param uUsage The format of the bmiColors member of the {@link
 * BITMAPINFO} structure.
 * @return the number of scan lines copied from the bitmap
 */
int GetDIBits(HDC hdc, HBITMAP hbmp, int uStartScan, int cScanLines, Pointer lpvBits, BITMAPINFO lpbi, int uUsage);
项目:Harmonia-1.5    文件:GDI32Ext.java   
/** The GetDIBits function retrieves the bits fo the specified compatible
 * bitmap and copies them into a buffer as a DIB using the specified
 * format.
 * @param hdc A handle to the device context.
 * @param hbmp A handle to the bitmap.  This must be a compatible bitmap
 * (DDB).
 * @param uStartScan The first scan line to retrieve
 * @param cScanLines The number of scan lines to retrieve.
 * @param lpvBits A pointer to a buffer to receive the bitmap data.  If
 * this parameter is <code>null</code>, the function passes the dimensions
 * and format of the bitmap to the {@link BITMAPINFOHEADER_MANUAL} structure pointed to
 * by the <i>lpbi</i> parameter.
 * @param lpbi A pointer to a {@link BITMAPINFOHEADER_MANUAL} structure that specifies
 * the desired format for the DIB data.
 * @param uUsage The format of the bmiColors member of the {@link
 * BITMAPINFO} structure. This method will not return those as they don't exist in the BITMAPINFOHEADER
 * structure.
 */
int GetDIBits(HDC hdc, HBITMAP hbmp, int uStartScan, int cScanLines, Pointer lpvBits, BITMAPINFOHEADER_MANUAL lpbi, int uUsage);
项目:AppWoksUtils    文件:User32Extra.java   
public HDC GetWindowDC(HWND hWnd);
项目:AppWoksUtils    文件:GDI32Extra.java   
public boolean BitBlt(HDC hObject, int nXDest, int nYDest, int nWidth, int nHeight, HDC hObjectSource, int nXSrc, int nYSrc, DWORD dwRop);
项目:sc2gears    文件:JNAScreenshot.java   
boolean BitBlt( HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, int dwRop );
项目:sc2gears    文件:JNAScreenshot.java   
HDC GetDC( HWND hWnd );
项目:sc2gears    文件:JNAScreenshot.java   
boolean GetDIBits( HDC dc, HBITMAP bmp, int startScan, int scanLines, byte[] pixels, BITMAPINFO bi, int usage );
项目:sc2gears    文件:JNAScreenshot.java   
boolean GetDIBits( HDC dc, HBITMAP bmp, int startScan, int scanLines, short[] pixels, BITMAPINFO bi, int usage );
项目:sc2gears    文件:JNAScreenshot.java   
boolean GetDIBits( HDC dc, HBITMAP bmp, int startScan, int scanLines, int[] pixels, BITMAPINFO bi, int usage );
项目:sc2gears    文件:OrigJNAScreenShot.java   
boolean BitBlt( HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, int dwRop );
项目:sc2gears    文件:OrigJNAScreenShot.java   
HDC GetDC( HWND hWnd );
项目:sc2gears    文件:OrigJNAScreenShot.java   
boolean GetDIBits( HDC dc, HBITMAP bmp, int startScan, int scanLines, byte[] pixels, BITMAPINFO bi, int usage );
项目:sc2gears    文件:OrigJNAScreenShot.java   
boolean GetDIBits( HDC dc, HBITMAP bmp, int startScan, int scanLines, short[] pixels, BITMAPINFO bi, int usage );
项目:sc2gears    文件:OrigJNAScreenShot.java   
boolean GetDIBits( HDC dc, HBITMAP bmp, int startScan, int scanLines, int[] pixels, BITMAPINFO bi, int usage );
项目:Hearthtracker    文件:HearthRobot.java   
HDC GetDC(HWND hWnd);
项目:Hearthtracker    文件:HearthRobot.java   
boolean PrintWindow(HWND hwnd, HDC hdcBlt, int nFlags);
项目:jpexs-decompiler    文件:Gdi32.java   
DWORD GetPixel(HDC hdc, int nXPos, int nYPos);
项目:HearthStats.net-Uploader    文件:GDI32Extra.java   
public boolean BitBlt(HDC hObject, int nXDest, int nYDest, int nWidth, int nHeight, HDC hObjectSource, int nXSrc, int nYSrc, DWORD dwRop);