Как добавить графику поверх многомасштабного изображения?

Я хочу добавить графику к многомасштабному изображению. Я использую проект, который Deep Zoom Composer автоматически сгенерировал при создании мультимасштабного изображения. Отображение мультимасштабного изображения из VS2008 работает.

Я попробовал это и добавил графику на главный холст, без каких-либо результатов:

<Grid>
 <Canvas Name="maincanvas"/>
 <MultiScaleImage/>
</Grid>

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


person eflles    schedule 13.08.2009    source источник
comment
Вы можете быть более конкретным .. Вы хотели добавить графический элемент поверх выбранного изображения ... или всех загруженных изображений ??   -  person RameshVel    schedule 13.08.2009


Ответы (2)


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

проект silverlights Wilfred опубликовал интересную статью на тему выбор выбранного многомасштабного объекта и его координат ..

И есть специальный форум для deepzoom .. это очень активный .. вы тоже можете попробовать ..

person RameshVel    schedule 13.08.2009

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

<Grid x:Name="LayoutRoot">
<MultiScaleImage x:Name="deepZoomObject" Source="source/dzc_output.xml"/>  
<Canvas>
 <Line X1="10" Y1="100" X2="80" Y2="30" Stroke="Red" StrokeThickness="20" Canvas.Top="-16" Canvas.Left="238"></Line>
</Canvas>
</Grid>
person eflles    schedule 13.08.2009