0

写真のサイズを変更するには、次の方法を使用します。

private Bitmap ResizeBitmap(Bitmap b, int nWidth, int nHeight)
{
    Bitmap result = new Bitmap(nWidth, nHeight);
    using (Graphics g = Graphics.FromImage((System.Drawing.Image)result))
        g.DrawImage(b, 0, 0, nWidth, nHeight);
    return result;
}

画像の上部/下部または右側/左側に白または黒の境界線を作成して、画像を中央に配置し、cssで作成する必要がないようにする可能性はありますか?

例:200x100ピクセルの画像があり、ウェブサイトの100x100ピクセルの画像フィールドで機能させたい。現時点では、200x100ピクセルの画像のサイズを100x50ピクセルに変更して、100x100ピクセルのボックスに一致させ、画像をcssで中央に配置します。

必要なのは、画像のサイズを変更して境界線を追加した後、画像が100x50ピクセルではなく、白または黒の境界線を持つ100x100ピクセルになるようにすることです...

任意のアイデア...通常の.netライブラリでこれを行うことはできますか?すべてのアドバイスに感謝します!

よろしく、ジェシカ

4

1 に答える 1

1

私は最終的に私の問題を解決する方法を見つけました:

private Bitmap ResizeBitmapWithPadding(Bitmap b, int nWidth, int nHeight, int originalWidth, int originalHeight)
{
    Bitmap result = new Bitmap(originalWidth, originalHeight);
    using (Graphics g = Graphics.FromImage((System.Drawing.Image)result))
    { 
        g.InterpolationMode = InterpolationMode.HighQualityBicubic;
        g.SmoothingMode = SmoothingMode.HighQuality;
        g.PixelOffsetMode = PixelOffsetMode.HighQuality;
        g.CompositingQuality = CompositingQuality.HighQuality;
        g.Clear(GetColor());
        g.DrawImage(b, (originalWidth - nWidth) / 2, (originalHeight - nHeight) / 2, nWidnHeight);
    }
    return result;
}

ご協力いただきありがとうございます!

于 2012-09-12T15:26:02.217 に答える