Проблема создания Silverlight с глубоким увеличением - PullRequest
2 голосов
/ 09 августа 2009

Композитор с глубоким увеличением сам по себе является очень хорошим инструментом. Мне интересно, есть ли автоматические способы сочинения? Например, у меня есть 100 изображений, и я хочу автоматически создать эффект масштабирования 10 * 10. Я реализую фоновый рабочий процесс и автоматически сочетаю глубокое увеличение и публикацию. Тип вывода, который я предпочитаю - «Изображения» и «Экспорт в виде коллекции (несколько изображений)».

Какие-либо образцы или документы? Я использую VSTS2008 + C # + .Net 3.5.

Ответы [ 2 ]

4 голосов
/ 09 августа 2009

Взгляните на этот пост о DeepZoomTools.dll, включенном в приложение.

2 голосов
/ 11 августа 2009

Вот отличный пример проекта здесь , и если вы действительно хотите сходить с ума и создавать изображения / фрагменты программно, вы можете попробовать то, на что ссылается эта статья 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));

(Простите неаккуратный код. Хотя он работает.)

...