- PR -

商用使用しやすい非ウインドウ環境用描画ライブラリ

投稿者投稿内容
松川(日々精進)
会議室デビュー日: 2005/01/19
投稿数: 18
投稿日時: 2005-02-14 12:08
いつもお世話になっております。
近々、商用製品に組み込まれる機能で動的にPNGまたはJPEG画像を生成するプログラム
を作ることになりました。動作環境は以下のようになっています。
Solaris
 JDK1.3.1
非ウインドウ環境(X11が起動していません)
色々調べたところ、PJA(http://www.tsuhtan.net/java/pja/)
という非ウインドウ環境で使用できるライブラリを見つけることはできたのですが、
ライセンスがGPLということで、商用製品には使いにくいことが判明して、困ってお
ります。JDK1.4への変更、Xvfdのようなソフトを入れることはできないようなので、
ソフト側だけで対応しなければなりません。
JPEGでもGIFでも構わないのですが、どなたかいい解決方法をご存知ないでしょうか。
よろしくお願いいたします。


aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2005-02-14 20:13
確認してませんけど、JIMIというものがあります。
既に破棄されているプロジェクト(っていうのかな?)ですので、将来性全くありません。
でも同類のものと比較して、一番便利かなと思います。(残念です。)

http://java.sun.com/products/jimi/

Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2005-02-14 20:13
松川さん、こんにちは。

ヘッドレスのサーバ機で画像を生成したいのですね?

既存の部分は JDK1.3.1から変更できないとして、
描画処理だけでも 1.4.2でサービスするのでは駄目
でしょうか。
両者は干渉なく共存できますから、使い慣れてない
ライブラリとか環境を構築するよりは安全だと思い
ます。

あと GPLでも、提供されるライブラリを変更せずにアプリか
ら呼び出されるだけならアプリ側公開の心配は不要では?

注:上記「干渉なく共存」といっても、極端にメモリが
少ない場合や、負荷が高いときは間接的な影響は受けます。
takamaro
大ベテラン
会議室デビュー日: 2004/10/12
投稿数: 100
投稿日時: 2005-02-14 21:07
引用:

あと GPLでも、提供されるライブラリを変更せずにアプリか
ら呼び出されるだけならアプリ側公開の心配は不要では?


ライセンス関連には詳しくはないですが、

GPL =実行時の動的リンクであっても原則公開
LGPL=実行時の動的リンクに限り公開せずとも良い

って感じで私は理解してましたが、違ってたかなぁ??

話を戻して、、
AlphaWorksにヘッドレスサーバ機対策のRemote Abstract Window Toolkit
ってのが有ったなぁ、、と思い調べてみたら現在「リタイア」になってました。
うう、、残念。
PJA,Xvfd,RemoteAWTがアウトって事は、外部ライブラリには期待出来ない
かもしれませんね。
独自に実装するのは現実的とは思えませんし、J2SDK1.4への変更ってのが
私としては一番現実的な方法のような気がします(技術的な視点からすると)
けど、そうは上手くはいかないものなのでしょうねぇ(ハァ
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2005-02-14 22:12
unibon です。こんにちわ。

私は良くは調べてはいないのですが com.sun.image.codec.jpeg パッケージは使えないのでしょうか。
たとえば、
http://cappuccino.jp/keisuken/java/com_sun_image_jpeg.html
を拝見すると、デコードならヘッドレスでも使えそうなことが書いてありました(私が読み間違えている可能性もありますが)ので、エンコードも同じような理屈で使えそうな気もするのですが、どんなもんでしょうか?
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2005-02-14 22:52
unibon です。

引用:

unibonさんの書き込み (2005-02-14 22:12) より:
私は良くは調べてはいないのですが com.sun.image.codec.jpeg パッケージは使えないのでしょうか。


私は勘違いしてたみたいです。これを使ってエンコードしようとすると、ヘッド(?)が要るのですね。

#以下、あとで追加。

私は今まであまり意識していなかったのですが、なにをする時にヘッド(?)が要るんでしょうね?BufferedImage を生成する時?JPEG エンコードの時?環境的にすぐに試せないので良く分かりませんが。
ん〜、java.awt.Graphics を使わなければ良いのかな?

[ メッセージ編集済み 編集者: unibon 編集日時 2005-02-14 23:00 ]
松川(日々精進)
会議室デビュー日: 2005/01/19
投稿数: 18
投稿日時: 2005-02-15 01:04
夕方までちょくちょくこのスレッドをチェックしていたのですが、
書き込みがなかったので、半ばあきらめていました。色々
な情報を書き込んでいただけてありがたいです。

aaさんへ
JIMIですが、イメージのロードなどはできるようですが、描画は?
な感じですかね。

Kissingerさんへ
既存環境を変えずにやるという場合、おそらく1.4環境を別に作って
そちらで処理させるという方法が、もっとも影響が少ないですよね。
運用費がある程度増額できるようでしたら、この方法にしようと思います。

takamaroさんへ
PJAがLGPLとかBSDライセンスだったら、ソース公開の条項に引っかからず
に済んだんですけどねー。一度GPLで公開すると、LGPLなどへの変更が
できないというのも痛いところでして。AlphaWorksですか、気づきません
でした。リタイア・・・残念です!

unibonさんへ
com.sun.image.codec.jpegですが、ヘッドレスサポートが必要ということ
ですね。どうもラインやサークルを描画するとウインドウシステムのネイティブ
APIをコールするから、ヘッドレスサポートが必要かと思っていたんですが、
BufferedImageかGraphicsを生成した段階でAPIをコールしているそうで、
使えないということみたいです。


JDK1.4環境をどこかに立ててもらう方向で説明しつつ、今日も非ウインドウ環境
で使える描画ライブラリを探してみます。引き続き情報お待ちしております。







山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-02-15 02:16
1.3.x は既に EOL 移行期間なのを理由に新規利用を諦めるよう説得する、というのはどうでしょう?
http://java.sun.com/j2se/1.3/ja/

スキルアップ/キャリアアップ(JOB@IT)