2015-09-14 2 views
0

Я хочу выполнить преобразование изображения в powershell. В принципе, я хочу вставить круг, который содержит разные соотношения красного/синего/зеленого и желтого (это зависит от изображения к изображению) на другое изображение.преобразование изображений powershell

Прямо сейчас у меня есть stubmeld на PSImageTools (http://psimagetools.start-automating.com/), но, насколько я могу судить, они позволяют мне накладывать одно изображение на другое, но поскольку соотношение четырех цветов меняется, мне приходится динамически создайте круг, который можно сопоставить с существующим изображением.

Как я могу выполнить хардкорный пиксель, который мне нужен, а не просто вставлять 2 изображения вместе, но определяя цвет одиночного пикселя в powershell?

+0

Вы должны быть в состоянии использовать [ 'System.Drawing.Graphics'] (https://msdn.microsoft.com/en-us/library /system.drawing.graphics(v=vs.110).aspx), чтобы сделать все, что вам нужно. – Phylogenesis

+0

@Phylogenesis - Я согласен, в настоящее время моя проблема заключается в получении растрового изображения из существующего изображения. – Jakob

+0

Но вы правы - это решает мою проблему - спасибо – Jakob

ответ

1

Следующая делает изменения к изображению:

$imageOld = "C:\My\File.jpg" 
$imagenew = "C:\My\File2.jpg" 

# Load the System.Windows.Forms library 
[Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms"); 

$image = [System.Drawing.Image]::FromFile($imageOld) 
$graphics = [System.Drawing.Graphics]::FromImage($image) 

# 50% transparent white 
$color = [System.Drawing.Color]::FromArgb(128, 255, 255, 255) 
$brush = New-Object System.Drawing.SolidBrush($color) 

# Draw a 500px circle located at (300, 300) 
$graphics.FillEllipse($brush, 300, 300, 500, 500) 

$image.Save($imageNew) 

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

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