HTML5의 캔버스를 사용하여 주로 일부 직사각형과 간단한 선으로 구성된 미리보기 이미지를 만듭니다. 지금까지 잘 작동하지만 어떻게 든 고칠 수없는 한 가지 문제가 있습니다. 다음 상황을 가정하십시오.HTML5 : 부정확 한 직사각형 위치 지정
context.fillStyle = "rgba(0,0,0,0.75)";
context.fillRect(100.64646,100,50.94967,20);
context.fillRect(100.64646+50.94967,100,100,20);
그래서 저는 불투명도가 2 인 직사각형을 그립니다. x 시작 좌표와 첫 번째 rect의 x 길이는 두 번째 rect의 x 시작 좌표와 같으므로 이론적으로는 두 요소 사이에 여백을 두지 않고 충돌해야합니다. 안타깝게도 결과는 달라집니다. (http://files.clemensfreitag.de/thin_spacing.jpg 참조)
상자 사이에 아주 작은 간격이 있으며 배경색이 표시됩니다. 그러나 : 좌표와 길이가 정수 값인 경우이 문제가 발생하지 않습니다.
float 값을 사용하여 수행 할 수있는 방법이 있습니까? 그리기 전에 정수로 변환하면 내 응용 프로그램에서 허용 될 수 있지만이 기능이 부동 소수점으로 작동하지 않아야하는 이유가 궁금합니다.
최저
, 클레멘스
[JS Fiddle demo] (http://jsfiddle.net/) 우리는 작업을 볼 수 있고 함께 작업 할 수 있습니까? 그렇게하면 코드/스크립트 전체를 추측 할 필요가 없습니다. –
확실 함 (http://jsfiddle.net/nowjab23/qjzfU/1/ 참조). 난 그냥 왜 상단 상자의 조합 거기에 두 rects 사이의 특정 간격을 어디에 궁금 해서요, 어디 정수가 사용되는 낮은에서 – Clemens
당신은 내가 방금 위치에 대해 만든이 블로그 게시물에 관심이있을 수 있습니다 http://canop.org/blog/?p=220 (이것은 선이 불규칙한 또 다른 질문과 관련이 있습니다). 정수를 사용하든 사용하지 않든, 또는 "중간 정수"는 실제로 중요합니다. –