powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript и canvas в различных браузерах.
2 сообщений из 2, страница 1 из 1
JavaScript и canvas в различных браузерах.
    #35477552
crazybars
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Проблема в следующем. Я рисую на canvas изображение. Для того чтобы работало в IE делаю следующее:
Код: plaintext
<!--[if IE]><script type="text/javascript" src="excanvas.js"></script><![endif]-->
Изображение представляет собой стилизованную половину буквы А. Задача состоит в том чтобы диагональ буквы совпадала с диагональю окна браузера.
Для рисования описал функцию:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
function draw() {
      var resizeCanvas = document.getElementById("fon");
	  var lineFat = document.body.clientWidth/ 6 ;
	  var linePos =  30 ;
	  resizeCanvas.style.width = document.body.clientWidth;
	  resizeCanvas.style.height = document.body.clientHeight;
      resizeCanvas.style.position = 'fixed';
      var canvas = document.getElementById("fon").getContext('2d');
	  var a   = document.body.clientHeight;
	  var b   = document.body.clientWidth;
	  var x   = lineFat;
	  var z   = (linePos*b)/a;
	  var z1  = b*(a- 2 *x-linePos)/a;
      var z2  = b* 0 . 2 *x/a;
	  var arr = [
      [ 0 ,  0 ],// 1 
	  [b,a],// 2 
	  [b-x,a],// 3 
	  [b-x-z,a-linePos],// 4 
	  [ 0 ,a-linePos],// 5 
	  [ 0 ,a-x-linePos],// 6 
	  [z1,a-x-linePos],// 7 
      [z2,x+ 0 . 2 *x],// 8 
	  [ 0 ,x+ 0 . 2 *x],// 9 
      [ 0 , 0 ]// 10 
      ];
      canvas.beginPath();
      for (var i =  0 ; i < arr.length; i++) {
            if (i ==  0 ) canvas.moveTo(arr[i][ 0 ], arr[i][ 1 ]);
            else canvas.lineTo(arr[i][ 0 ], arr[i][ 1 ]);
      }
      canvas.fillStyle = "rgb(236,236,236)";
      canvas.fill();
}

В IE отображается все именно так как надо, но в остальных браузерах (Opera,FF) рисуется только нижний треугольник и видны пиксели. Думаю что проблема с изменением размера Canvas, но не могу понять где именно. Подскажите в чем косяк? (про кривость рук можете не писать, я знаю :)
...
Рейтинг: 0 / 0
JavaScript и canvas в различных браузерах.
    #35478023
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хоть и не занимался вплотную Canvas'ом (у нас проект его юзает, однако занимаются им другие люди), но точно знаю, что при масштабировании сделано так: старый Canvas сносится, потом создается новый нужного размера, и на него уже рисуется масштабированное изображение.

Видимо это не просто так.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript и canvas в различных браузерах.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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