0

私は自分のWebサイトでほとんど作業を行っていないので、画像のサイズを自動変更したいと思います。ただし、画像の幅や高さを変更しても、自動サイズ変更だけでなく、比例配分を維持します。新しいスペースを補うために、白い境界線を追加したいと思います。

私は過去に画像の仕事をしたことがありませんが、これにどのようにアプローチすればよいですか?

4

2 に答える 2

8

幅が収まるように高さを計算し、それをコンテナの高さと照合します。それが高い場合は、高さを合わせるために幅を計算します。

newHeight = oldHeight * containerWidth / oldWidth;
if (newHeight <= containerHeight) {
  newWidth = containerWidth;
} else {
  newWidth = oldWidth * containerHeight / oldHeight;
  newHeight = containerHeight;
}

これで、画像を中央に配置する場所を計算できます。

x = (containerWidth - newWidth) / 2;
y = (containerHeight - newHeight) / 2;
于 2012-05-25T16:59:28.763 に答える
-1

プライマリイメージをアップロードし、クエリ文字列を介してそのバージョンをリクエストするシングルソースイメージングについて話している場合は、私がお手伝いします。

私はhttp://imageresizing.net/の作者です。これは、アドオンプラグインによって資金提供されているオープンソースライブラリです。

必要な機能は無料のコアに含まれています。インストールして、任意の画像URLに?width = 100&height=100を追加するだけです。

ASP.NETから画像処理を行うのは非常に注意が必要です。Win / C ++の強力なバックグラウンドがない限り、実際にそれを行うべきではありません。.NETはSystem.Drawingインスタンスをガベージコレクションしません。

于 2012-05-28T21:45:31.543 に答える