После изменения размера изображения в PictureBox, как вы получаете отрегулированный размер изображения и местоположение? - PullRequest
0 голосов
/ 09 марта 2020

Я использую Win Forms, чтобы быстро выполнить GUI для сценария powershell ...

С точки зрения элемента управления PictureBox, возможно ли получить размер изображения и информацию о положении * 1003? * Скорректированный размер изображения, внутри ящика с картинками?

Быстрый пример: скажем, элемент управления Picturebox имеет размер 300x300. Я использую атрибут Zoom, чтобы поддерживать пропорции каждого изображения, которое помещается в графическое поле. Допустим, изображение имеет размер 4000 x 2500. Как только это изображение уменьшится, я хотел бы знать его окончательный размер и координаты. Все, что я пробовал до сих пор, похоже, возвращает только исходный размер изображения.

1 Ответ

0 голосов
/ 09 марта 2020

Вы можете рассчитать это самостоятельно, если известны ширина и высота как поля изображения, так и исходного изображения:

# size of the Picturebox the image should fit in
$boxWidth  = 300               # $pictureBox.Width
$boxHeight = 300               # $pictureBox.Height
# size of the original image
$imageWidth  = 4000            # $pictureBox.Image.Width
$imageHeight = 2500            # $pictureBox.Image.Height

# calculate the image ratio
$ratioX = [double]($boxWidth / $imageWidth)
$ratioY = [double]($boxHeight / $imageHeight)
$ratio = [Math]::Min($ratioX, $ratioY)

# calculate the resulting image size
$newWidth  = [int]($imageWidth * $ratio)
$newHeight = [int]($imageHeight * $ratio)

Результат:

$newWidth  --> 300
$newHeight --> 188
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...