C# отображают пробел

У меня есть изображение, которое является 240x320 (изображение камеры iPhone в портрете), и я должен программно (в C#), добавляют белые "панели" к сторонам, увеличивающим размер полного образа до 320x320. Я не хочу масштабировать изображение, потому что это испортило бы соотношение сторон.

Я нашел много информации о том, как удалить белые панели с c#, но ничто о том, как добавить их. Я в замешательстве. У кого-либо есть какой-либо вход, который мог бы привести меня корректное направление?

Огромное спасибо, Brett

11
задан Brett 31 March 2010 в 19:33
поделиться

3 ответа

Создайте новое пустое белое растровое изображение нужного размера и нанесите на него меньшее изображение.

4
ответ дан 3 December 2019 в 06:20
поделиться
using (System.Drawing.Image src = System.Drawing.Image.FromFile("picture.jpg"))
{
       using (Bitmap bmp = new Bitmap(320, 320))
       {
                Graphics g = Graphics.FromImage(bmp);
                g.Clear(Color.White);
                g.DrawImageUnscaled(src, 60, 0, 240, 320);
                bmp.Save("file.jpg", ImageFormat.Jpeg);
       }
}

Не забудьте утилизировать объект после использования;)

15
ответ дан 3 December 2019 в 06:20
поделиться

В основном создайте новое растровое изображение с требуемым размером, очистите его желаемым цветом и затем нарисуйте меньшее растровое изображение так, чтобы оно было центрировано по вертикали.

0
ответ дан 3 December 2019 в 06:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: