我有一个使用 MultiScaleImage 控件的应用程序,我想添加一个缩略图窗口,其中包含未缩放的图像和一个矩形轮廓,指示在 MultiScaleImage 控件中查看的部分。我没有图像的缩略图,但想在运行时创建它们。
1) 有没有办法从 MultiScaleImage 控件中获取未缩放图像的副本以放入 Image 控件中,或者我是否必须使用具有相同源的另一个 MultiScaleImage 控件。
2)任何提示或示例将不胜感激。
大卫
我有一个使用 MultiScaleImage 控件的应用程序,我想添加一个缩略图窗口,其中包含未缩放的图像和一个矩形轮廓,指示在 MultiScaleImage 控件中查看的部分。我没有图像的缩略图,但想在运行时创建它们。
1) 有没有办法从 MultiScaleImage 控件中获取未缩放图像的副本以放入 Image 控件中,或者我是否必须使用具有相同源的另一个 MultiScaleImage 控件。
2)任何提示或示例将不胜感激。
大卫
使用 WriteableBitmap 类。如果 multiscaleImage 是 MultiscaleImage 控件并且 thumbnail 是 Image 控件,那么此代码将从前者捕获图像并在后者中显示它。
WriteableBitmap bitmap = new WriteableBitmap(multiScaleImage, null);
Thumbnail.Source = bitmap;
大卫
请参阅 Jeff Prosise 的博客文章,使用他建议的最后一个函数:
你可以适当地调整它(有一个额外的好处,它不需要在内存中渲染整个巨大的图像,它应该直接缩放渲染它,这样 MultiScaleImage 会为那个小比例使用正确的缩放级别数据)