Создание миниатюрного изображения-компаньона для элемента управления MultiScaleimage

У меня есть приложение, в котором используется элемент управления MultiScaleImage, и я хотел бы добавить окно миниатюр с не масштабированным изображением и контуром прямоугольника, указывающим часть, которая просматривается в элементе управления MultiScaleImage. У меня нет миниатюр для изображений, но я хочу создать их во время выполнения.

1) есть ли способ получить копию неотображенного изображения из элемента управления MultiScaleImage, чтобы поместить его в элемент управления Image, или мне просто нужно использовать другой элемент управления MultiScaleImage с тем же источником.

2) Любые советы или примеры будут оценены.

Дэвид

2 ответа

Используйте класс WriteableBitmap. Если multiscaleImage является элементом управления MultiscaleImage, а миниатюра является элементом управления Image, то этот код захватит изображение из первого и отобразит его во втором.

WriteableBitmap bitmap = new WriteableBitmap(multiScaleImage, null);
Thumbnail.Source = bitmap;

Дэвид

Пожалуйста, посмотрите сообщение в блоге Джеффа Просиза об этом, используйте последнюю функцию, которую он предлагает:

http://www.wintellect.com/CS/blogs/jprosise/archive/2009/12/17/silverlight-s-big-image-problem-and-what-you-can-do-about-it.aspx

Вы можете адаптировать его соответствующим образом (имеет дополнительное преимущество, заключающееся в том, что ему не нужно отображать все огромное изображение в памяти, оно должно отображать его в прямом масштабе, чтобы MultiScaleImage использовал правильные данные уровня масштабирования для этого небольшого масштаба)

Другие вопросы по тегам