2010-01-14 4 views
8

Я просто подумал, что можно было бы создать небольшой, простой JPG, PNG, GIF с заданным текстом в PowerShell:Можно ли «нарисовать»/создать изображение с заданным текстом с помощью powershell?

например: маленький квадрат, 250px × 61px, желтый фон и черный текст на нем: «Тест»

Могу ли я сделать это с помощью «System.Drawing.Image»?

Благодаря

ответ

12

Конечно, если вы на PowerShell 2.0, попробуйте следующее:

Add-Type -AssemblyName System.Drawing 

$filename = "$home\foo.png" 
$bmp = new-object System.Drawing.Bitmap 250,61 
$font = new-object System.Drawing.Font Consolas,24 
$brushBg = [System.Drawing.Brushes]::Yellow 
$brushFg = [System.Drawing.Brushes]::Black 
$graphics = [System.Drawing.Graphics]::FromImage($bmp) 
$graphics.FillRectangle($brushBg,0,0,$bmp.Width,$bmp.Height) 
$graphics.DrawString('Hello World',$font,$brushFg,10,10) 
$graphics.Dispose() 
$bmp.Save($filename) 

Invoke-Item $filename 
+0

отлично работает! Спасибо – icnivad

+0

Add-Type недоступен в PS 1.0, вместо этого вы можете использовать: [Reflection.Assembly] :: LoadWithPartialName («System.Drawing») –

+0

NB: кажется, что созданный файл является PNG (т. Е. Нет специального логику в функции «Сохранить» для преобразования в формат, подходящий для имени файла. Вместо этого вы можете передать второй параметр для изменения формата файла: '$ bmp.Save ($ filename, [System.Drawing.Imaging.ImageFormat] :: Jpeg). Https://msdn.microsoft.com/en-us/library/system.drawing.image.save(v=vs.110).aspx – JohnLBevan

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

  • Нет связанных вопросов^_^