powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Рисование на странице...
7 сообщений из 7, страница 1 из 1
Рисование на странице...
    #33948512
TZUK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю пустой сайт (Empetry WebSite, С#) в VS 2005.

Теперь мне надо нарисовать определенную картинку. Ну для начала, как мне на странице нарисовать хотя бы линию, квадаратик или кружок?
...
Рейтинг: 0 / 0
Рисование на странице...
    #33948547
Astronomer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, как в 2005 студии, но в 2003 чтобы нарисовать картинку нужно было перехватиывать запрос на строку с расширением ashx, ну и потом в выходной поток выводить полученное изображение.
если интересно как, могу подробнее написать.Nikitos
...
Рейтинг: 0 / 0
Рисование на странице...
    #33948724
TZUK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну да, было бы интересно примерно посмотреть... Просто стоит задача следующая:

Разработать класс для генерации 3 случайных символов, из латинских букв и цифр (вариант совпадения всех 3-х исключается), отображения их в искажённом виде, разными цветами, с 15-30% наложением, и проверки правильности ввода в текстовом поле рядом. Допускается ввод как строчных, так и прописных букв.


Я в с# только начинаю работать... Надо хоть что то, что может меня натолкнуть на то, как это сделать... 
...
Рейтинг: 0 / 0
Рисование на странице...
    #33949085
Astronomer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в Web.config в ветке <system.web> прописываешь
<httpHandlers>
<add verb="*" path="Image.ashx" type="ProjectName.Handlers.HistogramImageGenaration, ProjectName" />
</httpHandlers>
где type - полноеназвание класса обработчика на запрос ресурса с именем Image.ashx
ProjectName - имя проекта

далее
в проект добавляешь класс, например вот какой:
public class MyHttpHandler : IHttpHandler
{
// Override the ProcessRequest method.
public void ProcessRequest(HttpContext context)
{
Byte[] OutputBytes = null;
OutputBytes = GetCaption(100,100,"Hello!",Color.Red,Color.White);
context.Response.ContentType = "image/gif";
context.Response.OutputStream.Write(OutputBytes, 0, OutputBytes.Length);
}

// Override the IsReusable property.
public bool IsReusable
{
get { return true; }
}
public static byte[] GetCaption(int widthImage, int heightImage, string Text, Color TextColor, Color bgColor)
{
MemoryStream stream = new MemoryStream();
Rectangle rect = new Rectangle(0,0, widthImage, heightImage);
Font TextFont = new Font("System",16);
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
Brush brushForeColor = new SolidBrush(TextColor);
Brush brushBgColor = new SolidBrush(bgColor);
Bitmap bitmap = new Bitmap(widthImage, heightImage);
Graphics gr = Graphics.FromImage(bitmap);
gr.FillRectangle(brushBgColor,rect);
gr.DrawString(Text, TextFont,brushForeColor, rect, format);
bitmap.Save(stream,ImageFormat.Gif);

TextFont.Dispose();
brushForeColor.Dispose();
brushBgColor.Dispose();
gr.Dispose();

return stream.ToArray();
}Nikitos
...
Рейтинг: 0 / 0
Рисование на странице...
    #33949115
Astronomer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если хочешь, чтобы пример работал, нужно вместо HistogramImageGenaration класс обозвать MyHttpHandler
в а type прописать его полное имя вместе с пространством имен.Nikitos
...
Рейтинг: 0 / 0
Рисование на странице...
    #33951351
TZUK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все сделал, вот с этим пространством имен не получается, подскажи...

1) создал пустой веб сайт, в нем 3 файла.

1.default2.aspx
2. default2.aspx.cs
3.Web.Config

в default2.aspx.cs имеем:

sing System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.IO;

public class MyHttpHandler : IHttpHandler
{

..... тут то что ты мне написал выше.....

  }

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       
       
    }
       
}


В Web.Config имеем:

<httpHandlers>
   <add verb="*" path="Image.ashx" type="Вот тут в данном случае что надо прописать? Пробовал разное, не выходит..." />
  </httpHandlers>
...
Рейтинг: 0 / 0
Рисование на странице...
    #33951689
TZUK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заметил ошибку,исправил:

<httpHandlers>
   <add verb="*" path="Default2.*" type="А тут так и не понял как полный путь прописать. Может кто подскажет?" />
  </httpHandlers>
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Рисование на странице...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]