![]() ![]() (I didn't test it, I just copied and pasted the code above, and removed all the exception handling code). If you want to shrink that method down and just throw an exception, the following code should work. ("getImageFromClipboard: That wasn't an image!") Īs you can see, there is a lot of boilerplate exception handling code wrapped around two or three lines of useful Java clipboard code. Return (Image) transferable.getTransferData(DataFlavor.imageFlavor) If (transferable != null & transferable.isDataFlavorSupported(DataFlavor.imageFlavor)) Transferable transferable = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null) * Returns an Image if successful otherwise returns null. This method can help handle the “paste” portion of a copy and paste operation in your Java application. ![]() Here’s the source code for a Java method that I use to retrieve an image from the system clipboard. I just received this Java clipboard question as I am working on a Java Swing application that does a lot of graphics and image work, so I have a little source code here I can share. '- junk = BitBlt(hdcMem, 0, 0, fwidth, fheight, hdc, rect.left, _ rect.top, SRCCOPY) '- ' Set up the Clipboard and copy bitmap '- junk = OpenClipboard(DeskHwnd) junk = Empt圜lipboard() junk = SetClipboardData(CF_BITMAP, hBitmap) junk = CloseClipboard() End If '- ' Clean up handles '- junk = DeleteDC(hdcMem) junk = ReleaseDC(DeskHwnd, hdc) DoCmd.Java clipboard FAQ: How do I get an image off the clipboard using Java? Declare Function GetActiveWindow Lib "User32" () As Long Declare Function GetDesktopWindow Lib "User32" () As Long Declare Sub GetWindowRect Lib "User32" (ByVal hwnd As Long, _ lpRect As RECT_Type) Declare Function GetDC Lib "User32" (ByVal hwnd As Long) As Long Declare Function CreateCompatibleDC Lib "Gdi32" (ByVal hdc As Long) _ As Long Declare Function CreateCompatibleBitmap Lib "Gdi32" (ByVal hdc _ As Long, ByVal nWidth As Long, _ ByVal nHeight As Long) As Long Declare Function SelectObject Lib "Gdi32" (ByVal hdc As Long, _ ByVal hObject As Long) As Long Declare Function BitBlt Lib "Gdi32" (ByVal hDestDC As Long, _ ByVal X As Long, ByVal Y _ As Long, ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal hSrcDC As Long, _ ByVal XSrc As Long, _ ByVal YSrc As Long, _ ByVal dwRop As Long) As Long Declare Function OpenClipboard Lib "User32" (ByVal hwnd As Long) As Long Declare Function Empt圜lipboard Lib "User32" () As Long Declare Function SetClipboardData Lib "User32" (ByVal wFormat As Long, _ ByVal hMem As Long) As Long Declare Function CloseClipboard Lib "User32" () As Long Declare Function ReleaseDC Lib "User32" (ByVal hwnd As Long, _ ByVal hdc As Long) As Long Declare Function DeleteDC Lib "Gdi32" (ByVal hdc As Long) As Long Global Const SRCCOPY = &HCC0020 Global Const CF_BITMAP = 2 Function ScreenDump() Dim AccessHwnd As Long, DeskHwnd As Long Dim hdc As Long Dim hdcMem As Long Dim rect As RECT_Type Dim junk As Long Dim fwidth As Long, fheight As Long Dim hBitmap As Long DoCmd.Hourglass True '- ' Get window handle to Windows and Microsoft Access '- DeskHwnd = GetDesktopWindow() AccessHwnd = GetActiveWindow() '- ' Get screen coordinates of Microsoft Access '- Call GetWindowRect(AccessHwnd, rect) fwidth = rect.right - rect.left fheight = rect.bottom - rect.top '- ' Get the device context of Desktop and allocate memory '- hdc = GetDC(DeskHwnd) hdcMem = CreateCompatibleDC(hdc) hBitmap = CreateCompatibleBitmap(hdc, fwidth, fheight) If hBitmap 0 Then junk = SelectObject(hdcMem, hBitmap) '- ' Copy the Desktop bitmap to memory location ' based on Microsoft Access coordinates. Option Compare Database Option Explicit Type RECT_Type left As Long top As Long right As Long bottom As Long End Type 'The following declare statements are case sensitive. Hopefully very easy: how to I get from there, to saving the data to file as an image? I've got a image saved to the clipboard by emulating PRINTSCREEN using the below code.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |