Не могу найти как можно изменять размер изображения picturebox через textbox, необходимо чтоб изменялась только картинка по размеру а не сам элемент. Кто-нибудь знает как это делается?
Менять нужно размер самого изображения. Я это делаю, вызывая конструктор с оригинальным изображением и новыми шириной и высотой: Bitmap(original, width, height).
Важно! Не забывайте освобождать ресурсы. При каждом изменении размера генерируется новая картинка. Предыдущую нужно удалить. Для этого вызываем Dispose.
Если будете менять оригинальное изображение (через OpenFileDialog, например), то обязательно нужно диспозить ранее загруженное изображение: original.Dispose.
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WinFormApp1
{
public partial class Form1 : Form
{
PictureBox pictureBox;
NumericUpDown numericUpDownWidth;
NumericUpDown numericUpDownHeight;
Bitmap original;
public Form1()
{
//InitializeComponent();
pictureBox = new PictureBox { Parent = this, BorderStyle = BorderStyle.FixedSingle, Size = new Size(150, 150) };
original = SystemIcons.Hand.ToBitmap();
pictureBox.Image = (Bitmap)original.Clone();
numericUpDownWidth = new NumericUpDown { Parent = this, Top = pictureBox.Bottom + 20, Minimum = 1 };
numericUpDownHeight = new NumericUpDown { Parent = this, Top = pictureBox.Bottom + 50, Minimum = 1 };
numericUpDownWidth.Value = original.Width;
numericUpDownHeight.Value = original.Height;
numericUpDownWidth.ValueChanged += NumericUpDown_ValueChanged;
numericUpDownHeight.ValueChanged += NumericUpDown_ValueChanged;
}
private void NumericUpDown_ValueChanged(object sender, EventArgs e)
{
pictureBox.Image?.Dispose();
int width = (int)numericUpDownWidth.Value;
var height = (int)numericUpDownHeight.Value;
pictureBox.Image = new Bitmap(original, width, height);
}
}
}
Думаю, разберётесь.
Вы можете изображение тока ставить типа: центр, растянуть по размеру pictureBox, зум. Но чтобы менять картинку, не видел. Есть конечно способ, но там будут появляться полосы прокрутки (scrollableControl), иначе никак.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости