The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Создание графики используя Javascript"
Отправлено vvd, 10-Окт-06 17:23 
Если кому-то интересно то вот код для рисования в Internet Explorer при помощи Javascript. Код мой, для работы необходим файл pixel.GIF содержащий 1 пиксел: 1x1. Функции рисуют линию и окружность. Можно рисовать в любой части страницы прямо поверх текста или картинок.

<script>

    function putpixel(x,y,c){
document.write('<div style=\"position:absolute; top:'+y+'; left:'+x+ ';width:1;height:1;\">'+
'<img src=pixel.GIF width=1 height=1 border=0></div>');
    }

putpixel(250,20,0);

function line( xl, yl, x2, y2, color )
  { var gd,gm,i,x,y,dx,dy,ix,iy,increment,plotx,ploty,plot;
     dx=x2-xl;
     dy=y2-yl;
      ix=Math.abs(dx);
      iy=Math.abs(dy) ;
      if (ix>iy) increment=ix;else increment=iy;
      plotx=xl;
      ploty=yl;
      x=0;
      y=0;
      putpixel( plotx, ploty, color ) ;
      for ( i=0; i<=Math.abs(increment); i++ )
        {  x+=ix;
           y+=iy;
           plot=0;
               if (x>increment)
                 { plot=1;
                    x-=increment;
                     if (dx>0) plotx++; else plotx--;
                 }
           if (y>increment)
             { plot=1;
                y-=increment;
                if (dy>0) ploty++; else ploty--;
              }
            if (plot) putpixel(plotx,ploty,color) ;
          }
   }


line(200,10,250,35,0);
line(250,35,200,100,0);
line(200,100,150,35,0);
line(150,35,200,10,0);
line(150,35,250,35,0);

function sim( xc, yc, x, y, color)
  { putpixel(x+xc,y+yc,color);
     putpixel(x+xc,-y+yc,color) ;
     putpixel(-x+xc,-y+yc,color) ;
     putpixel(-x+xc,y+yc,color);
     putpixel(y+xc,x+yc,color) ;
     putpixel(y+xc,-x+yc,color) ;
     putpixel(-y+xc,-x+yc,color) ;
     putpixel(-y+xc,x+yc,color);
  }

function circle( xc, yc, r, color)
  { var x,y,d;
     d=3-2*r;
     x=0;
     y=r;
     while (x<=y)
     { sim(xc,yc,x,y,color);
        if (d<0) d=d+4*x+6;
        else {d=d+4*(x-y)+10; y--;}
         x++;
     }
  }
circle( 100, 100, 78, 0 );
circle( 50, 80, 10, 0 );
circle( 100, 80, 10, 0 );
circle( 75, 120, 12, 0 );
line( 70, 155, 120, 140, 0 );

</script>

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру