2013-08-01 3 views
0

Я хотел бы понять, как использовать C# для рисования изображения в окне моего браузера - наряду с другими объектами HTML, которые уже есть. (Идея: разместить кнопки и формы, которые позволяют пользователю изменять изображение.) Я делаю это в Mono на Linux, но я бы хотел, чтобы это была портативная. То, что я придумал до сих пор:Как разместить объект System.Drawing.Graphics в окне браузера

public virtual void button1Clicked (object sender, EventArgs args) 
    { 
     int height = 300; 
     int width = 300; 

     Bitmap bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb); 
     Graphics g = Graphics.FromImage(bmp); 
     // 
     //Draw something on g here 
      // 
     Response.ContentType = "image/gif"; 
     bmp.Save(Response.OutputStream, ImageFormat.Gif); 
     g.Dispose(); 
     bmp.Dispose; 

    } 

Это очищает окно браузера, а затем отображает изображение, которое не то, что я хотел. После подробного поиска я нашел следующий учебник, http://www.dreamincode.net/forums/topic/67275-the-wonders-of-systemdrawinggraphics/ , в котором говорится, что я должен попытаться использовать ручку на каком-то элементе управления в моем окне, в качестве альтернативы метод CreateGraphics(). Ни один из них, похоже, не существует для моей «кнопки1» или любого другого идентификатора объекта на моей странице .aspx. Это потому, что я использую Моно?

Подводя итог, как лучше всего рисовать внутри окна браузера в C# + asp.net ??

ответ

0

У меня было то же самое, что и раньше, Дело в том, что вам нужно будет сохранить графический объект/растровое изображение в нужное место, если вы хотите использовать его в iFrame или в элементе управления Image.

Если вы не хотите, чтобы сохранить его на месте, попробуйте использовать серверный скрипт на странице: http://www.developerfusion.com/article/2569/creating-images-on-the-fly-with-aspnet/

+0

Благодарности - но, насколько я могу видеть, ссылку вы предоставили описывает метод идентичен для моего, но в скрипте вместо C#! Я использую неправильные инструменты для создания графики на лету? Пробовал javascript + SVG раньше; проблема заключается в том, что очень мало браузеров правильно включили все функции SVG. –

+0

В действительности сценарий имеет атрибут сервера runat, который дает возможность помещать код C# внутри, и я задавался вопросом, может ли место, где ваш скрипт может рисовать изображение в одном месте. – Shide

+0

Спасибо :) .. В конце концов я использовал обходной способ рисования на изображение и загрузку этого. Хорошо служил моим целям! Наверное, я мог бы сделать другой способ работы - сохранить это позже. –

Смежные вопросы