2017-06-07 1 views
0

フォルダからクリップボードに画像をコピーするプログラムを作成したいが、画像は黒くなります。カスタムDataFlavorからDataFlavor []を取得

いくつかの調査を行った後、私はこれを見つけました:Clipboard copy from outlook always has black background set when retrieved as image from Java clipboard object 彼はimage \ x-emfを使って問題を解決したと言います。

imageSelection imgSel = new imageSelection(new ImageIcon(emojiLocation).getImage()); 
:しかし、私はからTransferData "新たDataFlavor(emojiLocationがイメージへのパスです)(" 画像/ X-EMF ")"

package Package1; 

import java.awt.Image; 
import java.awt.datatransfer.DataFlavor; 
import java.awt.datatransfer.Transferable; 
import java.awt.datatransfer.UnsupportedFlavorException; 
import java.io.IOException; 

import javax.swing.ImageIcon; 

/** Transferable image */ 
public class imageSelection implements Transferable { 
    private Image image; 

    /** Creates a transferable object that is an image. 
    * <p>imageSelection(Image) 
    * */ 
    public imageSelection(Image image) { 
     this.image = image; 
    } 

    public DataFlavor[] getTransferDataFlavors() { 
     //DataFlavor[] BlackBackgroundImage = new DataFlavor[] { DataFlavor.imageFlavor }; // <--- Gives me a black background instead of transparent 

     DataFlavor[] transferData = null; 
     try { 
      transferData = new DataFlavor("image/x-emf"); // <---- How to get TransferData from this 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      error.displayError(e.getStackTrace(), "Error creating DataFlavor (mime type: image/x-emf)"); 
     } 
     return transferData; 
    } 

    public boolean isDataFlavorSupported(DataFlavor flavor) { 
     return DataFlavor.imageFlavor.equals(flavor); 
    } 

    public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { 
     if (!DataFlavor.imageFlavor.equals(flavor)) { 
      throw new UnsupportedFlavorException(flavor); 
     } 
     return image; 
    } 
} 

メソッドの呼び出しを取得する方法を見つけ出すことはできません

ありがとうございます!


答えて

0

ソリューション: 新しいのDataFlavor [] {} transferDataので、何かを明らかに不足しているため申し訳ありません を返します。 これは私に他の問題につながりませんでした。私は透明なイメージを得ることができませんでしたので、これを解決するために新しい質問をしました:Set clipboard to transparent image

関連する問題