Copy BufferedImage to clipboard

后端 未结 2 1549
自闭症患者
自闭症患者 2020-12-11 15:46

How do I store a BufferedImage into the system clipboard?

2条回答
  •  臣服心动
    2020-12-11 15:53

    Jigar's code does indeed store a BufferedImage into the clipboard, although to be specific, it puts a screen-capture of the entire screen into the clipboard.

    This may or may not be what you were after. In case you wanted to copy your own specific BufferedImage, in order to accomplish this, I replaced the constructor from Jigar's example with a copyImage() method.

    public class CopyImagetoClipBoard implements ClipboardOwner
    {
        public void copyImage(BufferedImage bi)
        {
            TransferableImage trans = new TransferableImage( bi );
            Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
            c.setContents( trans, this );
        }
    

    Remove the main() method within his class too.

    You can then copy your BufferedImage with code such as this:

        BufferedImage bim;
        // set bim to your desired BufferedImage content
        // ...
        CopyImagetoClipBoard ci = new CopyImagetoClipBoard();
        ci.copyImage(bim);
    

提交回复
热议问题