Создать миниатюру с белой рамкой - PullRequest
1 голос
/ 16 сентября 2008

Мне нужно создать миниатюры из набора jpg, которые должны иметь маленькую белую рамку, чтобы при отображении на карте они выглядели как «фотографии». Сами по себе миниатюры получить легко, но я не могу понять, как получить границу.

1 Ответ

6 голосов
/ 16 сентября 2008

Вот быстрый взлом:

public Image AppendBorder(Image original, int borderWidth)
{
    var borderColor = Color.White;

    var newSize = new Size(
        original.Width + borderWidth * 2,
        original.Height + borderWidth * 2);

    var img = new Bitmap(newSize.Width, newSize.Height);
    var g = Graphics.FromImage(img);

    g.Clear(borderColor);
    g.DrawImage(original, new Point(borderWidth, borderWidth));
    g.Dispose();

    return img;
}

Создает новый Bitmap объект, который имеет размер оригинала плюс двойную ширину границы, а затем рисует оригинальное изображение посередине и затем возвращает готовое изображение.

Вы также можете много рисовать или рисовать с помощью объекта Graphics выше.

...