0

私が取り組んでいるプロジェクトは、モニターの解像度が変更されたときにサイズを変更する必要があります。レガシ コードやその他の問題により、解像度が変更されたときにすべてのコンポーネントを適切なサイズにスケーリングするカスタム ライブラリを使用してこれを行います。

ただし、プロジェクトで使用されている画像/アイコンの一部を拡大縮小すると、ぼやけたり、ぼやけたり、エイリアスが発生したりします。ほとんどの場合、それらはすべてラスター gif であるためです。

この問題を軽減するために有効であると考えられる解決策の 1 つは、ベクター画像を使用して、その場でラスター画像に変換する (そしてパフォーマンス向上のためにキャッシュする) ことです。

皆さんはどう思いますか?これは良い方法でしょうか?または、選択した方法に代わるより良い方法はありますか?

これがより良い方法である場合、誰かがsvg変換を行ってjpgまたはpng(できれば)にする方法へのポインタを与えることができます。利用可能な (そして商用利用可能な) ライブラリは?

ありがとう

4

3 に答える 3

2

Javaのアルゴはかなり良いです。根本的な問題は、元の画像/アイコンがすでに小さすぎるように聞こえるため、それらを拡大するとアーティファクトが残ります。本当に簡単な方法は、アプリと一緒に送信される画像をより大きなサイズにし、縮小するだけにすることです。一部のみに問題があることを示しているように見えるため、画像サイズ(ピクセルの高さと幅)に関するポリシーが必要だと思います。

もちろん、ベクター グラフィックスを使用できる場合は、無限にスケーリングできます。これは、アプリケーションによっては、長期的な投資として優れている可能性があり、大きな出力形式 (画面だけでなく印刷) をサポートする必要がある可能性があります。このように物事にアプローチするのはかなり複雑かもしれません。(このパラグラフのポイントをさらに理解するには、より多くの情報が必要です。)

于 2009-04-05T07:34:43.697 に答える
0

Metal (クロスプラットフォーム) PL&F のアイコンは、実行中のマシンに溶け込むために、バッファリングされたイメージに描画されます。これは迅速な手法であり、依存関係を追加せず、追加の API (または言語!) を学習する必要はありません。src.zipSun JDKを参照してください。

于 2009-04-05T12:25:01.533 に答える
0

Batikは svgs を png または jpeg に変換できます

于 2009-04-05T07:25:44.137 に答える