2010-07-06 6 views
0

У меня есть приложение Windows .NET, которое собирает чернила с использованием Microsoft.Ink из Microsoft Tablet PC SDK и хранит его в базе данных. Это нормально.Как я могу отображать чернила (которые уже записаны) как изображение на странице ASP.NET?

Теперь мне нужно отображать эти чернила в качестве изображения в приложении ASP.NET.

Обратите внимание, что мне не нужно фиксировать какие-либо штрихи в веб-приложении. Просто покажите уже захваченные штрихи как изображение. Я не знаю, как это сделать. Я думаю, что не могу использовать Renderer.Draw на веб-странице.

Пожалуйста, помогите, друзья

EDIT: Спасибо за помощь. Вот пример кода, если кто-то нуждается в нем:

 Response.Clear(); 
     Response.ContentType = "image/jpeg"; 
     Byte[] isf = Convert.FromBase64String("AI8BHQS6AoQBAwRIEEU1CoABNofwCMeAU9BIREIpEoZCoJpCdyGDxCUYCi8ZicV3rFIRAILEchwGGx/MEQgkD1FBoIyBBoJAoFN53LY/EYPU4LAwh+sa6m2HwCLSacReHwGDatQ2Qy2f4PkMVhcB4FiSxWARSVbmiMHguyYfBYFdSESWNSSZTySRaQSqbUCjwYA="); // Sample 
     ink.Load(isf); 
     Byte[] imageData = ink.Save(PersistenceFormat.Gif); 
     Response.BinaryWrite(imageData); 
     Response.End(); 

Вот тег изображения на странице, чтобы отобразить его:

<img alt="" src="RenderImage.aspx" /> 
+1

Как вы его сохранили в базе данных? Являются ли штрихи хранятся как XML? –

+0

Сохраняется как Serialized Format (ISF). – Zesty

ответ

1

http://msdn.microsoft.com/en-us/library/aa515948.aspx

Возможно ли, что вы сериализовать объект чернил к этому формат? В этом случае вы просто будете рассматривать его как изображение на своем веб-сайте, но все же имеете возможность десериализации его в другой экземпляр класса Ink

+0

Вы правы. Он хранится в формате ISF. Но как мне преобразовать это в изображение? Я попытался использовать Convert.FromBase64String для преобразования этого в массив байтов. Но это не отображается. Я поставил код в вопросе для удобочитаемости. – Zesty

+0

Я считаю, что Response.ContentType должен быть 'image/gif' или просто' image' - в последнем случае браузер попытается отобразить формат Если это не помогает, попробуйте создать объект Image из данных вы получаете от ink.Save(), а затем сохраняете изображение непосредственно в выходной поток. Возможно, метаданные, которые хранит чернила gif, ломают логику браузера ... но это невероятно. – ULysses