3

大きな画像を幅 150 ピクセルにサイズ変更したいのですが、高さは固定されます。次に、画像を私のウェブサイトのフォルダーに保存します。

例: (幅,高さ) 画像のサイズを 300px*300px に変更すると、150px*150px のサイズに変更された画像が得られます。画像のサイズを 450px*300px に変更すると、サイズが 150px*100px の画像になります。

ポイントは、幅と高さの比率が常に 150 ピクセルの幅を維持して保存されることです。

ヘルプはありますか?

4

2 に答える 2

2

私はこれを見つけました(私のものではありません)here

private Bitmap ScaleImage(Image oldImage)
{
    double resizeFactor = 1;

    if (oldImage.Width > 150 || oldImage.Height > 150)
    {
        double widthFactor = Convert.ToDouble(oldImage.Width) / 150;
        double heightFactor = Convert.ToDouble(oldImage.Height) / 150;
        resizeFactor = Math.Max(widthFactor, heightFactor);

    }
    int width = Convert.ToInt32(oldImage.Width / resizeFactor);
    int height = Convert.ToInt32(oldImage.Height / resizeFactor);
    Bitmap newImage = new Bitmap(width, height);
    Graphics g = Graphics.FromImage(newImage);
    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
    g.DrawImage(oldImage, 0, 0, newImage.Width, newImage.Height);
    return newImage;
}
于 2012-08-18T07:43:11.943 に答える
-1

これは、スタイルシートで実現できます。まず、次のスタイルを定義します。

.thumb {
  max-width: 150px;
  max-height: 150px;
  width: expression(this.width > 150 ? "150px" : true);
  height: expression(this.height > 150 ? "150px" : true);
}

次に、次のように、このスタイルをイメージ タグに追加します。

<img class="thumb" ...>

今回は高さと幅の要素を含めないでください。

そのスタイルの前半は、max-width および max-height プロパティをサポートするブラウザー (Chrome、Firefox、Opera、および Safari) 用です。後半は IE のハックですが、そうではありません。

ここに例があります:jsFiddle

于 2012-08-18T07:38:59.333 に答える