2009-10-10 1 views
0

У меня проблема с функцией 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> 
+0

Я пробовал этот код, но не вижу никаких темных границ. Это с Firefox 3.5.3 в Windows. Я думаю, что людям было бы легче проверить это, если бы вы отказались от требования jquery. – 2009-10-10 09:10:19

+0

да, вы правы ... Я также забыл сказать, что мне нужно масштабировать страницу в firefox, чтобы сделать эффект ясным. Тем не менее, я использую это для того, чтобы рисовать черепичные изображения, а затем становится очень раздражающим. Но спасибо за попытку. – 2009-10-10 12:57:00

+0

Вы можете просто захватить 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

ответ