ソースコードを読むと抵抗を感じてしまいますよね。
ならば一旦、SWTで適切な画像フォーマットでファイルに書き出して、そのファイルをSwingで読み込んで使うのはいかがでしょう?
ファイルIOが発生するのでパフォーマンスを重視されるならお勧めできませんが、一度だけ実行するだけだとか、キャッシュっぽく利用できるならこれでいいかと思います。
SWTの画像から、Swingの画像データへのコンバートということですね。
逆のパターンならありましたので、参考にされたらいかがでしょうか。
http://www-06.ibm.com/jp/developerworks/java/040702/j_j-2dswt.ht...
あと、java.awt.image.BufferedImage と org.eclipse.swt.graphics.ImageData 変換方法がこちらにありました。参考になるかと思います。
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippet...
http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/Convertbetween...
ううむ。その逆バージョンは読んだのですが、やはりそういう泥臭い方法しかないということでしょうか。
ソースコードを読むと抵抗を感じてしまいますよね。
ならば一旦、SWTで適切な画像フォーマットでファイルに書き出して、そのファイルをSwingで読み込んで使うのはいかがでしょう?
ファイルIOが発生するのでパフォーマンスを重視されるならお勧めできませんが、一度だけ実行するだけだとか、キャッシュっぽく利用できるならこれでいいかと思います。
snippetのコードを(ライセンスにおびえつつ)コピペして試してみたのですが、なぞの色化けが発生してしまいました。
なるほど、画像のフォーマットはSWTでもAWTでも共通だからそこを経由するという手もありましたね。SWTのImageLoaderで書きだして、ImageIOで読み込んでみたところうまく行きました。ファイルIOに関してはByteArrayOutputStreamとByteArrayInputStreamを使いました。問題なさそうです。
snippetのコードを(ライセンスにおびえつつ)コピペして試してみたのですが、なぞの色化けが発生してしまいました。
なるほど、画像のフォーマットはSWTでもAWTでも共通だからそこを経由するという手もありましたね。SWTのImageLoaderで書きだして、ImageIOで読み込んでみたところうまく行きました。ファイルIOに関してはByteArrayOutputStreamとByteArrayInputStreamを使いました。問題なさそうです。