Я новичок в WPF и пытаюсь использовать Controls.Image. У меня он растягивается, когда форма расширяется. Я пытаюсь создать Drawing.Bitmap во время выполнения, чтобы отобразить на Controls.Image в WPF. Когда я создаю Drawing.Bitmap, я хочу создать только такой масштаб, как элемент управления Image на экране (не тратьте циклы процессора). Для создания изображения у меня есть следующий код. Bitmap bImage = new Bitmap((int)imgInput.Width, (int)imgInput.Height);
imgInput - это Controls.Image и bImage, очевидно, является Drawing.Bitmap. Однако imgInput.Width и Height отображаются как 0 во время выполнения, хотя они определенно не во время разработки. Если я не пытаюсь динамически растянуть изображение, чтобы развернуть его с окном, нет никаких проблем, которые он показывает, как ожидалось. Итак, как мне получить изображение. Также у кого-то есть лучший способ, чем создание Drawing.Bitmap в памяти и преобразование его в ImageSource для WPF? Я не загружаю изображение из URI или что-то в этом роде, я должен его создать в памяти.Получение элемента управления. Ширина и высота изображения
Я связывание изображения следующего кодом
imgInput.Source = loadBitmap(bImage);
}
[DllImport("gdi32")]
static extern int DeleteObject(IntPtr o);
public static BitmapSource loadBitmap(System.Drawing.Bitmap source)
{
BitmapSource bs = null;
IntPtr ip = source.GetHbitmap();
try
{
bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(ip,
IntPtr.Zero, Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
}
finally
{
DeleteObject(ip);
}
return bs;
}
Как вы привязываете растровое изображение к изображению? У вас есть ширина/высота, явно установленная для вашего изображения в XAML? – BrokenGlass
Ширина и высота изображения заданы как автоматические, но это необходимо для того, чтобы можно было установить горизонтальное и вертикальное выравнивание, чтобы поверить в – dko
, что объяснило бы это: изображение будет изменяться по своему содержанию, t иметь любую ширину, пока вы не привяжете к нему растровое изображение. – BrokenGlass