powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Надо рендерить web control как динамическое изображение
11 сообщений из 11, страница 1 из 1
Надо рендерить web control как динамическое изображение
    #33426524
romapost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот думаю над такой задачей,пробую писать Web control, но рендерить мне надо его на странице как динамичекски созданное изображение,я вот думал можно в поток послать this.Page.Response, this - это ссылка на текуший объект контрола,но проблема в том что броузер отображает контрол на странице картинку как текст,двоичном виде


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
protected override void Render(HtmlTextWriter output)
		{

              Bitmap bitmap = new Bitmap(  500 ,  300 );

	      Graphics g = Graphics.FromImage(bitmap);

              // Since we are outputting a Jpeg, set the ContentType appropriately
		this.Response.ContentType = "image/jpeg";

	    // Save the image to the OutputStream
	        bitmap.Save( this.Response.OutputStream, ImageFormat.Jpeg );

		//output.Write(Text);
             }


так вот при вставке на страницу контрол отображает не картинку,а её двоичный код
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33426848
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно добавить Response.Clear()


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33428311
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, что не надо такой контрол писать. Я боюсь, ты велосипед изобретаешь. Есть же DynamicImage (динамическую картинку можно нацелить не на Url, а прямо на поток байтов). Предполагается, что этот элемент управления появится в ASP.NET 2 (не смотря на то, что во 2-й бета-версии его нет). В любом случае этот элемент управления можно скачать с сайта журнала MSDN Magazine по адресу: http://download.microsoft.com/download/1/6/4/164c2a20-aeb0-460f-907d-985d83e86bd4/CuttingEdge0404.exe - это зазипованный архив проекта, содержащий DynamicImage для ASP.NET 1.1.
Max Pro
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33430395
romapost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
profil
нужно добавить Response.Clear()


Posted via ActualForum NNTP Server 1.3


Ура! помогло
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33609754
VIPLeon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощение, за то что через столько времени вновь поднимаю данную тему, но возникает вопрос

Я попробывал решение приведенное в примере (правдо на вижуал басике) в результате (что собственно логично) так как стоит response.write когда я вставляю этот созданный контрол в форму, на странице выводится только изображение, а все остальные элементы формы не отображаются. Собственно так как контент тайп image\jpeg в браузер поступает только картинка.

В связи с этим вопрос, как же решить данную задачу как создать контрол который бы рисовал картинку в браузере?
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33609756
VIPLeon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привожу код:
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Drawing

<DefaultProperty("Text"), ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")> Public Class WebCustomControl1
Inherits System.Web.UI.WebControls.WebControl

Dim _text As String

<Bindable(True), Category("Appearance"), DefaultValue("")> Property [Text]() As String
Get
Return _text
End Get

Set(ByVal Value As String)
_text = Value
End Set
End Property

Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
Dim bitm As New Bitmap(300, 300)
Dim g As Graphics
g = Graphics.FromImage(bitm)
Me.Page.Response.Clear()
Me.Page.Response.ContentType = "image/jpeg"
bitm.Save(Me.Page.Response.OutputStream, Imaging.ImageFormat.Jpeg)

' output.Write([Text])

End Sub

End Class
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33611686
Bug69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совершенно ожидаемый результат. Для его объяснения достаточно вспомнить, что рендерит страницу броузер, а не сервер. Сервер лишь отдает броузеру файлы и его совершенно не заботит то, как они будут отображены. Если вы отдаете броузеру html, то и рендерить он будет страницу, если image/*, то картинку. Нельзя отдавать картинку, и ожидать, что броузер будет рендерить страницу.
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33611699
Bug69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIPLeonкак создать контрол который бы рисовал картинку в браузере?

Надо на странице создавать ссылку на файл изображения, который должен отображаться в указанном месте. Это может быть и файл вашей программы, но клиенту он должен отдавать image.
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33614043
VIPLeon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bug69Совершенно ожидаемый результат. Для его объяснения достаточно вспомнить, что рендерит страницу броузер, а не сервер. Сервер лишь отдает броузеру файлы и его совершенно не заботит то, как они будут отображены. Если вы отдаете броузеру html, то и рендерить он будет страницу, если image/*, то картинку. Нельзя отдавать картинку, и ожидать, что броузер будет рендерить страницу.

Я с вами совершенно согласен. Вопрос немного в другом. Я хочу сделать свой контрол, это будет dll соответственно, допустем в рендере будет формироваться некий img src="xxx.gif" но вопрос как контролу который сидит в DLL перехватить этот самый xxx.gif. Конечно можно написать хандлер, но тогда его придется прописать в webconfig а этого делать не хочется ведь нормальные контролы когда создаешь этого делать не требуют.
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33626234
Bug69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы копал в сторону ISAPI
...
Рейтинг: 0 / 0
Надо рендерить web control как динамическое изображение
    #33633803
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIPLeonВ связи с этим вопрос, как же решить данную задачу как создать контрол который бы рисовал картинку в браузере?есть еще такой подход, со своими недостатками.. http://www.codeproject.com/aspnet/BLOBRead.asp#xx1424715xx
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Надо рендерить web control как динамическое изображение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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