現在、私はピンチズームを開発しており、選択したすべてのエフェクトを適用するための写真アプリを開発しています。これは私のコードです:
view = new SandboxView(getApplicationContext(), bmp);
そして、このビューをフレーム レイアウトに追加しています。保存目的でこのレイアウトのスクリーンショットを付けていますが、画面の幅と高さに基づいて表示されますが、500*500 の画像で画質を落とさずに表示したいです。
現在、私はピンチズームを開発しており、選択したすべてのエフェクトを適用するための写真アプリを開発しています。これは私のコードです:
view = new SandboxView(getApplicationContext(), bmp);
そして、このビューをフレーム レイアウトに追加しています。保存目的でこのレイアウトのスクリーンショットを付けていますが、画面の幅と高さに基づいて表示されますが、500*500 の画像で画質を落とさずに表示したいです。
「品質を落とさずに」とは、具体的にどのような意味ですか? できる唯一のことは、スムーズな (しかし遅い) スケーリング方法を使用することです。しかし、画像を縮小すると情報が失われ (これは数学的な事実です)、そのため品質が低下します。優れたスケーリング アルゴリズムは、人間には見栄えの良い画像を表示できますが、損失が発生します。
また、スケーリング アルゴリズムを使用してより大きなサイズにスケーリングすると、不鮮明またはレンガ状に見えます。情報が失われることはありませんが、拡大されたサイズのネイティブ イメージに期待するほどの画質ではありません。
したがって、元の画像を保存して、誰かが見たいと思ったらすぐにサイズを変更することしかできません。