Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбор выноски на рисунке 
:(
    Опции темы
kedicik
Дата 16.5.2007, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



Можно ли реализовать след задачу? Есть рисунок . На нем какие-то выноски к деталям (назовем так). Как выделить выноску на рисунке? И прочитать что выделено? Можно ли это сделать с помощью  ImageMap? 
PM MAIL   Вверх
Mymik
Дата 16.5.2007, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



kedicik, преобразование рисунка в текст. Это очень сложные и трудоемкие процессы. Алгоритмы дорого стоят. А реализация ихняя еще дороже. Стандартных функция распознавания текста из рисунка нет. Если где-нибудь найдешь бесплатную библию для распознавания текста -- поделись, мы все будем очень и очень благодарны столь щедрому подарку.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
kedicik
Дата 17.5.2007, 07:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



Я имела ввиду не распознавание текста. А если сделать на рисунке хот споты и выделять их. Мне без разницы текст или нет. Какие-то части на рисунке. Я это имела ввиду. Вот прочитала про ImageMap/ Там есть хот споты. Просто если это и возможно то если имедж идет их бд? Тогда на нем надо уже заранее проставить хот споты. Или вообще это не реализуется?
PM MAIL   Вверх
Mymik
Дата 17.5.2007, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



kedicik, Нет, ты ж всегда можешь определять RectangleHotSpot для своего ImageMap.
Сам по себе ImageMap должен иметь ссылку на картинку. Вот ты и забираешь картинку из СУБД.
Ну и соответственно после этого ты можешь (если ты используешь GridView/DataGrid, Repeater или DataList) прикрепится к *DataBound и там подсовывать к этому ImageMap разные HotSpot
Код

imageMap.Areas.Add(new ImageMapRectangleArea("http://forum.vingrad.ru/", new Rectangle(405, 188, 15, 15), "Go To Our Forum"));

Конечно, было б классно хранить в отдельной таблице в базе тип HotSpot'а, ссылку куда он ведет, его разметку и ToolTip. типа по ID картинки забираешь из таблицы все данные для HotSpot'а и генерируешь их на ходу.

Добавлено через 1 минуту и 7 секунд
Да. Ну а если не используешь что-то типа GridView/DataGrid, Repeater или DataList Тогда ты можешь подсовывать прямо в Page_Load


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
kedicik
Дата 17.5.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



Все получилось Да я согласна! Хранить в бд координаты. Жалко что не выделяется хот спот при щелчке. Хорошо бы наложить на него как бы слой при щелчке. А при повторном удалить его. Типа прорисовать прямоугольник. Как нить можно?
PM MAIL   Вверх
Mymik
Дата 17.5.2007, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Если очень захотеть. То можно
Код

<asp:ImageMap ID="imTest" style="text-align:left;" ImageUrl="~/P5010001.JPG" runat="server" />

JS Функция отвечающая за рисование прямоугольника. (Другие фигуры было очень лень рисовать)
Код

            /* Рисуем */
        function setDiv(x,y,w,h,s,im)
        {
                /* собственно вот так вот и рисуем */
            document.body.innerHTML += '<div onclick="this.parentNode.removeChild(this);" style="position:absolute;z-index:100;'+
                'left:' + (x) + 'px;'+
                'top:' + (y) + 'px;'+
                'width:' + (w-s*2) + 'px;'+
                'height:' + (h-s*2) + 'px;'+
                'border:solid '+s+'px red;'+
                'background:url(\'' + im + '\') ' + (-x) + 'px ' + (-y) + 'px;'+
                (!(document.all) ? ';overflow:hidden' : '')+
                ';"><\/div>';
        }
        /* Вызываем функцию */
        function drawRect(x, y, w, h, im)
        {
            var s = 2;/* размер борюра */
            this.setDiv(x, y, w, h, s, im);
        }

А в behind-code добавляем вот так вот
Код

        RectangleHotSpot rect = new RectangleHotSpot();
        rect.Top = 100;
        rect.Left = 20;
        rect.Right = 50;
        rect.Bottom = 150;
        rect.NavigateUrl = "javascript:drawRect(" + rect.Left.ToString() + "," + rect.Top.ToString() + "," + ((int)(rect.Right - rect.Left)).ToString() + "," + ((int)(rect.Bottom - rect.Top)).ToString() + ",'" + ResolveUrl(imTest.ImageUrl) + "');";
        imTest.HotSpots.Add(rect);



--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
kedicik
Дата 17.5.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



Спасибо попробую завтра на работе.
PM MAIL   Вверх
kedicik
Дата 18.5.2007, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



На открытие страницы сделала 2 хотспота. При клике по ним выводятся прямоугольники. При повторном они исчезают. Все правильно. Теперь мне нужно куда-нить сохранить какие споты у меня выделены. Мне нужно загнать в серверную лебел. Но я из джавы не вижу лебел. Может я не умею ее найти. Я могу найти только html inputtext/ туда я засылаю. Но я должна сделать его невидимым. Но после этого он у меня не может найтись в документе в джаве.

Добавлено через 3 минуты и 39 секунд
я вообще джаву плохо знаю. Вообще в джаве можно обращаться к серверным контролам? напр лебелам?  И интересна 1 вещь. На этом Image Map у меня еще 2 спота которые я создала обычным способом. После клика и высвечивания прямоуг клик по Image map  не идет. Т есть по другим спотам ничего не работает

Добавлено через 6 минут и 42 секунды
или это влияет слой который наложился на мап?

Добавлено через 9 минут и 17 секунд
ну а вообще меня давно интересует союз джавы и visualbasic.net  почему из джавы никак нельзя обновить какое-нибудь поле текстовое типа asp:Label
PM MAIL   Вверх
Mymik
Дата 18.5.2007, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Цитата(kedicik @  18.5.2007,  17:58 Найти цитируемый пост)
Мне нужно загнать в серверную лебел. Но я из джавы не вижу лебел. 

kedicik, все можно спокойно найти. Просто открой код сгенерированной страницы и ты увидишь что там ID разные. И потом. В input записываются данные с помощью value. А в Label через innerHTML это разные объекты, у них разные свойства ;о).
Чтобы найти объект, надо использовать document.getElementById('<ID контрола>'). Но эта <ID контрола> отличается от серверной (практически всегда) и потом в выходном потоке надо вписывать .ClientID серверного контрола.
Вот описание Label
Код

<asp:Label ID="lblTest" runat="server"/>

А вот так ты сможешь найти этот объект на клиенте
Код

lbl = document.getElementById('<%=lblTest.ClientID %>');

<%=lblTest.ClientID %> вписывает в выводном потоке клиентский ID твоего серверного контрола.
Цитата(kedicik @  18.5.2007,  17:58 Найти цитируемый пост)
Вообще в джаве можно обращаться к серверным контролам? напр лебелам?

Ну-у-у... теоретически сервер и клиент разделены и недоступны. Только лишь с помощью элементов которые отправляют данные на сервер, они могут взаимодействовать. (ну это если ты не будешь писать сама писать пакеты запросов к серверу)
Цитата(kedicik @  18.5.2007,  17:58 Найти цитируемый пост)
Но я должна сделать его невидимым. Но после этого он у меня не может найтись в документе в джаве.

А как ты делаешь его невидимым ??? случайно не через Visible="false" ??? вообще-то это свойство убирает этот элемент из выходного потока... ну он генерируется, но в выходной поток данных он не поподает. Используй HiddenField или делай для своего TextBox display:none в стилях. Но первое лучше ;о).
Цитата(kedicik @  18.5.2007,  17:58 Найти цитируемый пост)
И интересна 1 вещь. На этом Image Map у меня еще 2 спота которые я создала обычным способом. После клика и высвечивания прямоуг клик по Image map  не идет. Т есть по другим спотам ничего не работает

А что такое обычный способ ???
Цитата(kedicik @  18.5.2007,  17:58 Найти цитируемый пост)
ну а вообще меня давно интересует союз джавы и visualbasic.net  почему из джавы никак нельзя обновить какое-нибудь поле текстовое типа asp:Label 

Все можно. Я описал выше. Но на сервере ты этих изменений не увидишь. Потому что Label не отправляет данные на сервер. Это просто статический текст обрамленный <span></span> и все.
Постят данные на сервер только те контролы, которые обязаны это делать.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
kedicik
Дата 18.5.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



А что такое обычный способ ???
Ну я имею ввиду что я создала 2 спота в конструкторе а не программно как вы мне написали. То есть есть2 спота с джавой и 2 спота обычных.  Все 4 спота есть после загрузки страницы. Если я не кликаю по тем спотам где выводятся прямоугольники то по клику по мапу у меня нормально работают другие споты. Я получаю то что мне надо - иформацию по какому я кликнула (например координаты). Но как только я кликнула по джавским спотам и у меня появился прямоугольник, тогда те споты я не вижу и по клику у меня выводится - страница выводится с ошибкой-.  ну это ладно . Поскольку нужны прямоугольники. И еще:  а как отменить прямоугольник но чтобы тоже отловить это. Например по отрисовке прямоугольника я вывожу window.alert() а когда он становится невидимым то ?????? надо наверное новую джаву писать на это. 2 варианта - видимы и невидимый. Но я в джаве профан. Спасибо за инфу про обновление серверных полей. А я так долго мучилась с этим!

Добавлено через 8 минут и 8 секунд
Спасибо и жду ответов.

Добавлено через 13 минут и 13 секунд
Да на Input.text visible=false/ было. А брала из поля Value/ Но если даже засовывать инфу в asp:label то не произойдет отправка на сервер. Это понятно. А если в другой серверный элемент? Я тоже думаю что нет. И возбудить событие нельзя из джавы? я думаю что нет.  
PM MAIL   Вверх
Mymik
Дата 18.5.2007, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Цитата(kedicik @  18.5.2007,  21:15 Найти цитируемый пост)
Ну я имею ввиду что я создала 2 спота в конструкторе а не программно как вы мне написали. То есть есть2 спота с джавой и 2 спота обычных.  Все 4 спота есть после загрузки страницы. Если я не кликаю по тем спотам где выводятся прямоугольники то по клику по мапу у меня нормально работают другие споты. Я получаю то что мне надо - иформацию по какому я кликнула (например координаты). Но как только я кликнула по джавским спотам и у меня появился прямоугольник, тогда те споты я не вижу и по клику у меня выводится - страница выводится с ошибкой-. 

Покажи как ты определила те два спота. Потому как у меня все работает. 
Цитата(kedicik @  18.5.2007,  21:15 Найти цитируемый пост)
И еще:  а как отменить прямоугольник но чтобы тоже отловить это. Например по отрисовке прямоугольника я вывожу window.alert() а когда он становится невидимым то ?????? 

Прямоугольник не становится невидимым -- он удаляется из контента страницы.
удаление прямоугольника стоит на событие onclick. 
Код

onclick="this.parentNode.removeChild(this);"

Вот этот код отвечает за удаление элемента со страницы.
Вставь перед ним что тебе нужно, или вынеси в отдельную функцию.
Цитата(kedicik @  18.5.2007,  21:15 Найти цитируемый пост)
надо наверное новую джаву писать на это. 2 варианта - видимы и невидимый. Но я в джаве профан.

красные квадраты не становятся видимыми или невидимыми. Они либо есть, либо нет. Ты можешь попросту отловить событие до создания рисунка. В функции drawRect можешь поставить свои условия и ответвления работы скрипта.
Цитата(kedicik @  18.5.2007,  21:15 Найти цитируемый пост)
Да на Input.text visible=false/ было. А брала из поля Value/ Но если даже засовывать инфу в asp:label то не произойдет отправка на сервер. Это понятно. А если в другой серверный элемент?

Вот тут вот ход твоих мыслей я слабо очень понимаю... что ты хочешь ??? Создать какие-то данные с помощью JS и отправить с PostBack на сервер ??? ну так засунь эти данные в HiddenFiled, на клиенте это (<input type="hidden" />) это тот же <input type="text" /> только невидимый и он делает PostBack на сервер. Т.е. на сервере ты можешь обратится к контенту этого поля и взять из него данные, что были вписаны туда по средствами JS.
Цитата(kedicik @  18.5.2007,  21:15 Найти цитируемый пост)
И возбудить событие нельзя из джавы? я думаю что нет. 

Почему ж нельзя, конечно можно, с помощью Page.ClientScript.GetCallbackEventReference()(в asp.net 1.1 Page.GetPostBackClientEvent())
Причем вплоть до того, что можно не использовать asp.net AJAX RC1 а через эти методы использовать ajax (сам недавно узнал об этом).


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
kedicik
Дата 18.5.2007, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



Цитата(Mymik @  18.5.2007,  22:17 Найти цитируемый пост)
Покажи как ты определила те два спота. Потому как у меня все работает. 

Я поставила на них тип не NavigateUrl а забыла .......... на работе это.... postback ? и определила Target=_self. Когда кликаю по ним (но уже прямоугольник появился на других спотах) то внизу вижу ошиибку как раз что-то про Тarget. Ну тогда до понедельника если точно нужно
PM MAIL   Вверх
kedicik
Дата 21.5.2007, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



Вот посылаю Form1.aspx и Form1.aspx.vb/ Framework 2.0

Добавлено @ 18:04
Извините не знаю как правильно присоединить
Код

Partial Class Form1
    Inherits System.Web.UI.Page

    Protected Sub ImageMap1_Click(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ImageMapEventArgs) Handles ImageMap1.Click

        If (e.PostBackValue.Contains("Hot1")) Then

            LblTest.Text = "You selected 1" 

        ElseIf (e.PostBackValue.Contains("Hot2")) Then

            LblTest.Text = "You selected 2" 
        Else
            LblTest.Text = "You did not click a valid hot spot region."
        End If
    End Sub

    Sub Page_Load(ByVal sender As Object, ByVal E As System.EventArgs) Handles MyBase.Load
        If Not IsPostBack Then
            SetRect()
        Else
            Dim MyText As System.Web.UI.HtmlControls.HtmlInputHidden
            MyText = CType(Me.FindControl("Hidden1"), HtmlInputHidden)
            ViewState("Num") = MyText.Value
        End If
    End Sub
 
    Sub SetRect()
        Dim MyHot1 As New RectangleHotSpot()
        Dim MyHot2 As New RectangleHotSpot()
        MyHot1.AlternateText = "javahot1"
        MyHot1.HotSpotMode = HotSpotMode.Navigate
        MyHot1.Left = "20"
        MyHot1.Right = "50"
        MyHot1.Bottom = "80"
        MyHot1.Top = "30"
        MyHot1.NavigateUrl = "javascript:drawRect(" + "1," + MyHot1.Left.ToString() + "," + MyHot1.Top.ToString() + "," + ((MyHot1.Right - MyHot1.Left)).ToString() + "," + ((MyHot1.Bottom - MyHot1.Top)).ToString() + ",'" + ResolveUrl(ImageMap1.ImageUrl) + "')"
        ImageMap1.HotSpots.Add(MyHot1)
        MyHot2.AlternateText = "javahot2"
        MyHot2.HotSpotMode = HotSpotMode.Navigate
        MyHot2.Left = "20"
        MyHot2.Right = "50"
        MyHot2.Bottom = "250"
        MyHot2.Top = "200"
        MyHot2.NavigateUrl = "javascript:drawRect(" + "2," + MyHot2.Left.ToString() + "," + MyHot2.Top.ToString() + "," + ((MyHot2.Right - MyHot2.Left)).ToString() + "," + ((MyHot2.Bottom - MyHot2.Top)).ToString() + ",'" + ResolveUrl(ImageMap1.ImageUrl) + "')"
        ImageMap1.HotSpots.Add(MyHot2)
    End Sub
  

End Class

Добавлено @ 18:10
Код

            /* Рисуем */
        function setDiv(x,y,w,h,s,im)
        {
                /* собственно вот так вот и рисуем */
            document.body.innerHTML += '<div onclick="this.parentNode.removeChild(this);" style="position:absolute;z-index:100;'+
                'left:' + (x+10*s) + 'px;'+
                'top:' + (y+15*s) + 'px;'+
                'width:' + (w) + 'px;'+
                'height:' + (h) + 'px;'+
                'border:solid '+s+'px red;'+
                'background:url(\'' + im + '\') ' + (-x) + 'px ' + (-y) + 'px;'+
                (!(document.all) ? ';overflow:hidden' : '')+
                ';"><\/div>';
        }
        /* Вызываем функцию */
        function drawRect(Num,x, y, w, h, im)
        {
            var s = 1;/* размер бордюра */
            var lbl;
            this.setDiv(x, y, w, h, s, im);
            window.alert(Num);
            
            document.all("Text1").value=Num;
            document.all("Hidden1").value=Num;
          document.getElementById('<%=lblTest.ClientID%>').setAttribute("Text",Num);

        }


Добавлено @ 18:12
Код

    <form id="form1" runat="server">
    <div>
        <asp:ImageMap ID="ImageMap1" runat="server" AlternateText="Карта" 
            Height="288px"  ImageUrl="~/map.jpg" Width="420px">
            <asp:RectangleHotSpot  AlternateText="hot1" Bottom="109" 
                PostBackValue="Hot1" Right="336" Left="294" Top="79"  HotSpotMode="PostBack" />
            <asp:RectangleHotSpot AlternateText="Hot2" Bottom="288"  Left="307"
                PostBackValue="Hot2" Right="351"  Top="267"  HotSpotMode="PostBack" />
        </asp:ImageMap>&nbsp;<br />
        <br />
        <input id="Text1" type=text runat=server value="no" name="Text1" visible="true" />
        <input id="Hidden1" runat=server type="hidden"  /><br />
        <asp:Label ID="LblTest" runat="server" Text="Hello"></asp:Label>
    </div>
    </form>



Это сообщение отредактировал(а) Mymik - 21.5.2007, 20:53

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  code.txt 2,02 Kb
PM MAIL   Вверх
kedicik
Дата 21.5.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



Все таки обновление Label не работает. После отрисовки прм-ка меняется только Hidden и InputText/ а label не меняется. 
После отрисовки прям-ка  по клику на Hot1 Hot2 выдается ошибка 
Ошибка на странице
jscript: "theForm._EVENTTARGET" есть NULL и не явл объектом
PM MAIL   Вверх
Mymik
Дата 21.5.2007, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



kedicik, твой behind-code я вообще не смотрел. Я только смотрел только то что видим в aspx файле.
1) получение ссылок на DOM объект через document.all не поддерживается браузерами кроме IE(а нам ведь нужен код, который будет работать везде). Потому ее лучше заменять на document.getElementById.

2) В 10 и 11 строчках твоего xml файла (последняя вставка в виде xml) у элементов input есть атрибут runat="server" что делает их объектами HtmlControls. А следовательно их id (как и name) на клиенте отличаются от серверного. Потому общаться к ним надо 
Код

document.getElementById('<%=Text1.ClientID %>').value = Num;
document.getElementById('<%=Hidden1.ClientID %>').value = Num;

<%=Text1.ClientID %> -- преобразуют серверный ID в клиентский.

3) asp:Label на клиенте преобразуется в конструкцию <span></span> и чтобы записать текст в эту конструкцию, тебе нужно использовать прототип innerHTML. Этот прототип возвращает и устанавливает значение контента у данного DOM объекта.
потому и изменять текст мы будем через
Код

document.getElementById('<%=lblTest.ClientID%>').innerHTML = Num;


4)После того как ты нажимала на JS кнопки, которые рисовали квадратики, я как бы переписывал весь html... и из-за этого IE почему-то не хотело делать PostBack. Потому я пошел по другому пути и переписал это полностью на DOM модели.

Ну и вобщем код страницы теперь выглядит вот так вот -->>
Код

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default4.aspx.vb" Inherits="Default4" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">
            /* Рисуем */
        function setDiv(x,y,w,h,s,im)
        {
                /* собственно вот так вот и рисуем */
                div = document.createElement("DIV");
                div.onclick = function() {this.parentNode.removeChild(this)};
                div.style.position = "absolute";
                div.style.zIndex = "100";
                div.style.left = x+10*s + "px";
                div.style.top = y+15*s + "px";
                div.style.width = w + "px";
                div.style.height = h + "px";
                div.style.border = "solid " + s +"px red";
                div.style.background = "url('" + im + "') " + (-x) + "px " + (-y) + "px";
                if(!document.all) 
                    div.style.overflow = "hidden";
                document.body.appendChild(div);
        }
        /* Вызываем функцию */
        function drawRect(Num,x, y, w, h, im)
        {
            var s = 1;/* размер бордюра */
            var lbl;
            this.setDiv(x, y, w, h, s, im);
            alert(Num);
            
            document.getElementById('<%=Text1.ClientID %>').value = Num;
            document.getElementById('<%=Hidden1.ClientID %>').value = Num;
            document.getElementById('<%=lblTest.ClientID%>').innerHTML = Num;
        }        
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ImageMap ID="ImageMap1" runat="server" AlternateText="Карта" 
            Height="288px"  ImageUrl="~/map.jpg" Width="420px">
            <asp:RectangleHotSpot  AlternateText="hot1" Bottom="109" 
                PostBackValue="Hot1" Right="336" Left="294" Top="79"  HotSpotMode="PostBack" />
            <asp:RectangleHotSpot AlternateText="Hot2" Bottom="288"  Left="307"
                PostBackValue="Hot2" Right="351"  Top="267"  HotSpotMode="PostBack" />
        </asp:ImageMap>&nbsp;<br />
        <br />
        <input id="Text1" type=text runat=server name="Text1" visible="true" />
        <input id="Hidden1" runat=server type="hidden"  /><br />
        <asp:Label ID="LblTest" runat="server" Text="Hello"></asp:Label>
    </div>
    </form>
</body>
</html>

VB.NET я не сильно люблю, потому туда даже и не смотрел. Что касается работоспособности страницы -- теперь она работает во всех браузерах.

Это сообщение отредактировал(а) Mymik - 21.5.2007, 21:36


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.