Проблема создания Silverlight с глубоким увеличением
Композитор с глубоким увеличением сам по себе является очень хорошим инструментом. Мне интересно, есть ли автоматические способы сочинения? Например, у меня есть 100 изображений, и я хочу автоматически создать эффект глубины 10 * 10. Я реализую фоновый рабочий процесс и автоматически сочетаю глубокое увеличение и публикацию. Тип вывода, который я предпочитаю: "Изображения" и "Экспорт в виде коллекции (несколько изображений)".
Какие-либо образцы или документы? Я использую VSTS2008 + C# + .Net 3.5.
2 ответа
Посмотрите на этот пост о DeepZoomTools.dll, включенных в приложение.
Здесь есть отличный пример проекта, и если вы действительно хотите сойти с ума и сгенерировать изображения / фрагменты программно, вы можете попробовать то, о чем говорится в этой статье MSDN.
Я сам не нашел много реальной документации, касающейся DeepZoomTools.dll, но я создал небольшой тестовый веб-сервис, чтобы превратить одно загруженное изображение в источник Deep Zoom. Соответствующий код:
public string CreateDeepZoomImage(byte[] abyte, string fileName)
{
ImageCreator ic = new ImageCreator();
string FilePath = Path.Combine(_uploadPath, fileName);
System.IO.FileStream fs = new System.IO.FileStream(FilePath, System.IO.FileMode.Create);
fs.Write(abyte, 0, abyte.Length);
fs.Close();
FileInfo imageFileInfo = new FileInfo(FilePath);
string destination = imageFileInfo.DirectoryName + "\\" + imageFileInfo.Name.TrimEnd(imageFileInfo.Extension.ToCharArray()) + "\\output.xml";
ic.Create(FilePath, destination);
string returnpath = "/Uploads/" + imageFileInfo.Name.TrimEnd(imageFileInfo.Extension.ToCharArray()) + "/output.xml";
return returnpath;
}
Где обратный путь используется так:
ZoomImage.Source = new DeepZoomImageTileSource(new Uri(e.Result, UriKind.Relative));
(Простите неаккуратный код. Он работает, хотя.)