1

お申し込み手順はこちら

  1. HTML 電子メール メッセージまたは Web サイトからリッチテキストをコピーする (テキストと画像の組み合わせ)
  2. Java コードで、クリップボード オブジェクトからコピーされたコンテンツを BufferredImage として取得します。
  3. 取得した画像オブジェクトを画像ファイルとしてディスクに保存します

保存されたファイルでは、画像は問題なく表示され、黒以外のテキストは問題なく表示されますが、黒の背景では黒のテキストが失われているように見えます。生成された画像の黒い背景をオーバーライドする方法が見つかりませんでした。以下のサンプルコード。

     BufferedImage image = null;
try {
     image = (BufferedImage) transferable.getTransferData(DataFlavor.imageFlavor);

} catch (UnsupportedFlavorException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
      } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
}

saveImageToDisk(image);

      private void saveImageToDisk(BufferedImage image) {
    File outputFile = new File("c:\\image.png");
    try {
        ImageIO.write(image, "png", outputFile);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

解決策が見つかりました-「image\x-emf」のMIMEタイプを理解するカスタムシステムフレーバーを使用することです。最初の 8 バイトを取り除き、残りの内容を Bufferred 画像として書き込みます

4

1 に答える 1

2

解決策が見つかりました-「image\x-emf」のMIMEタイプを理解するカスタムシステムフレーバーを使用することです。最初の 8 バイトを取り除き、残りの内容を Bufferred 画像として書き込みます

于 2013-04-18T17:41:08.570 に答える