5

Powershellを使用して画像を作成/編集する方法を学びたいです。ビットマップ画像を作成し、色を塗りつぶし、ピクセルの色を他の色に設定して、画像をファイルに保存するのを手伝ってください。

編集:私は次のコードを試しましたが、黒いビットマップを取得しました

[System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
$bmp = New-Object System.Drawing.Bitmap(320, 240)

for ($i = 0; $i -lt 100; $i++)
{
   for ($j = 0; $j -lt 100; $j++)
   {
     $bmp.SetPixel($i, $j, 1000)
   }
}

$bmp.Save("f:\Temp\bmp.bmp")
ii f:\Temp\bmp.bmp
4

1 に答える 1

8

SetPixelタイプの最後の引数を取りますSystem.Drawing.Color。Powershellは整数1000Colorオブジェクトに変換しており、これは基本的に「黒」の色になります。

PS > [system.drawing.color] 1000

R             : 0
G             : 3
B             : 232
A             : 0       # A is "Alpha", aka opacity. A = 0 -> full transparent
IsKnownColor  : False
IsEmpty       : False
IsNamedColor  : False
IsSystemColor : False
Name          : 3e8

既知の名前付きの色(例)に対応する文字列を渡すか、またはのいずれか'Red'からカスタムRGB色を作成できます。ここで、すべての引数は0から255までです。ここここのドキュメントを参照してください。[System.Drawing.Color]::FromArgb($r, $g, $b)[System.Drawing.Color]::FromArgb($a, $r, $g, $b)

for ($i = 0; $i -lt 100; $i++)
{
   for ($j = 0; $j -lt 100; $j += 2)
   {
     $bmp.SetPixel($i, $j, 'Red')
     $bmp.SetPixel($i, $j + 1, [System.Drawing.Color]::FromArgb(0, 100, 200))
   }
}
于 2012-09-18T21:48:13.993 に答える