@bad_shape_guy

Как в Powershell загрузить изображение в переменную и освободить файл?

Добрый день, подскажите пожалуйста, не могу нормально нагуглить.
Загружаю изображение в качестве фона формы Windows, задача такая, что нужно после загрузки - освободить файл, для дальнейшей возможности удаления его, переименования и т.п.
Так понимаю, нужно создать его копию в некую переменную, и её использовать в качестве фона у формы, после чего оригинал файла Dispose()
Но не понимаю, как создать копию изображения в переменной и в форме использовать

[void][reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
[void][reflection.assembly]::LoadWithPartialName("System.Drawing")

$img = [System.Drawing.Image]::Fromfile("C:\temp\logo.jpg");

$form = New-Object System.Windows.Forms.Form
$form.BackColor = "White";
$form.BackgroundImage = $img;
$form.BackgroundImageLayout = "Center"
$form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedDialog
$form.Text ="";
$form.TopMost = $true;
$form.ShowDialog();
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
Используйте FromStream
$content = Get-Content -Path "C:\temp\logo.jpg" -Encoding byte
$ms = New-Object System.IO.MemoryStream
$ms.Write($content)
$img = [System.Drawing.Image]::FromStream($ms)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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