2014-04-28 7 views
1

У меня есть небольшое растровое изображение, и я хочу скопировать это изображение в большее пространство.
Но я хочу сохранить меры от исходного изображения и добавить черную рамку вокруг.
И в центре.C# изображение с рамкой

Image i = Image.FromFile(fileName); // This is 300x300 
    Bitmap b = new Bitmap(500, 500); 

    using(Graphics g = Graphics.FromImage(b)) 
    { 
     g.DrawImage(i, 0, 0, 500, 500); 
    } 

но не делаю, что я хочу. Это делает изображение больше

пример: оригинал: 300x300 больше: 400х400 с рамой все вокруг с 50

РЕШЕНИЕ: Хорошо, так что я сделал так:

Image i = Image.FromFile(fileName); // This is 300x300 
Bitmap b = new Bitmap(500, 500); 

using(Graphics g = Graphics.FromImage(b)) 
{ 
    g.DrawImage(i, (500 - 300)/2,(500-300)/2); 
} 

ответ

0

Существует несколько способов сделать это.

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

  2. В веб-странице создать Div пространство с помощью CSS с черным фоном и центрирования изображения в этот DIV с правильно установленными отступов/краями к верхней, нижней

Те из верхней части моей головы.

+0

Спасибо! Но как я могу сделать номер один? – user3420653

+0

посмотрите здесь: http://stackoverflow.com/questions/16556848/merging-2-images-using-c-sharp –

Смежные вопросы