У меня проблема с функцией drawImage context2d. Всякий раз, когда я масштабирую изображение, он получает темную границу одного пикселя, что является довольно уродливым. Это происходит только в Firefox, а не в Opera или Webkit.Проблема масштабирования Javascript/Canvas/Images в Firefox
Проблема сглаживания? В течение нескольких часов я изучал примеры и имеющуюся документацию, не избавляясь от этого ... Я еще не мог попробовать его на другом компьютере, поэтому, может быть, это может быть проблема с графическим оборудованием/драйверами.
Я воспроизвел этот эффект с помощью этого минимального фрагмента, предполагая, что exp.jpg имеет размер 200x200 пикселей.
<html>
<body>
<canvas id="canvas" width="400" height="400"></canvas>
</body>
<script type="text/javascript" src="../../media/pinax/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" >
context = $('#canvas')[0].getContext('2d');
img = new Image();
img.src = "exp.jpg";
//while (!img.complete);
context.drawImage(img, 2,2,199,199);
context.drawImage(img, 199,2,199,199);
</script>
</html>
Я пробовал этот код, но не вижу никаких темных границ. Это с Firefox 3.5.3 в Windows. Я думаю, что людям было бы легче проверить это, если бы вы отказались от требования jquery. – 2009-10-10 09:10:19
да, вы правы ... Я также забыл сказать, что мне нужно масштабировать страницу в firefox, чтобы сделать эффект ясным. Тем не менее, я использую это для того, чтобы рисовать черепичные изображения, а затем становится очень раздражающим. Но спасибо за попытку. – 2009-10-10 12:57:00
Вы можете просто захватить jQuery у Google, чтобы избежать проблем с зависимостями: http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js Я сделал тестовую страницу: http: /www.boogdesign.com/examples/canvas/image.html Выглядит хорошо для меня, FF 3.5.3 на Linux: http://www.boogdesign.com/examples/canvas/Canvas_test_ff.png – robertc