Каковы некоторые способы регулировки расстояния масштабирования изображения в кадре?Масштабирование изображения в картинке
Я загрузка изображения из файла в PictureBox, вот мой код ...
Dim fs As FileStream
OpenFileDialog1.Filter = "JPG files (*.jpg)|*.jpg|" & "BMP Files (*.bmp)|*.bmp|" _
& "TIF Files (*.tif)|*.tif|" & "PNG Files (*.png)|*.png|" & "ALL Files (*.*)|*.*"
OpenFileDialog1.Title = "Select an Image File"
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
currentfilename = OpenFileDialog1.FileName
If currentfilename.ToUpper.EndsWith(".JPG") Or _
currentfilename.ToUpper.EndsWith(".BMP") Or _
currentfilename.ToUpper.EndsWith(".TIF") Or _
currentfilename.ToUpper.EndsWith(".PNG") Then
If Not (Pic.Image Is Nothing) Then
Pic.Image.Dispose()
Pic.Image = Nothing
End If
fs = New FileStream(currentfilename, IO.FileMode.Open, IO.FileAccess.Read)
Pic.Image = Image.FromStream(fs)
original = Pic.Image
End If
End If
И тогда я буду регулировки расстояния трансфокатора, используя этот код ...
If original Is Nothing Then
Exit Sub
End If
If Not converted Is Nothing Then
converted.Dispose()
End If
If Not zoomImage Is Nothing Then
zoomImage.Dispose()
End If
zoomImage = New Bitmap(original, _
(Convert.ToInt64(original.Width * (ZoomValue)/100)), _
(Convert.ToInt64(original.Height * (ZoomValue/100))))
converted = Graphics.FromImage(zoomImage)
converted.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
Pic.Image = Nothing
Pic.Image = zoomImage
У меня нет возможности с этим, если я просто использую небольшие изображения, но он использует много памяти, если у меня есть большое изображение, например, одно изображение, которое я показываю, представляет собой файл TIFF размером 1,5 МБ, который имеет размер 33000 x 4000. Я хочу только отрегулировать уровни масштабирования изображения, мне больше не нужно рисовать изображение, меняя цвет пикселя или любых других манипуляций.