2017-02-22 1 views
1

draw2dtouch6.1.66 version (최신 버전)을 사용하고 있습니다. 처음에는 캔버스의 폭과 높이가 각각 1000px800px이었습니다. 버튼 클릭시 캔버스 너비와 높이가 각각 2170px902px으로 변경됩니다.캔버스 setDimension()은 숫자의 끌기 기능을 중단합니다.

이제 폭이 1000px 이상인 직사각형을 드래그 할 수 없습니다. 초기 너비 인 1000px에 붙어 있습니다.

참고 : 저는 캔버스 div와 svg 모두 width:2170pxheight:902px 인 html을 확인합니다.

<div _ngcontent-awi-17="" draw2d-canvas="" id="canvas" style="height: 902px; cursor: default; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); width: 2170px;"> 

<svg height="902" version="1.1" width="2170" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="overflow: hidden; position: absolute; left: -0.828125px;"> 

여기 내 코드입니다 : 기본 imageData 배열이 새로운 차원으로 업데이트되지 않기 때문에

$("#canvas").css("height",902); 
$("#canvas").css("width", 2170); 
canvas.setDimension(new draw2d.geo.Rectangle(0, 0, 2170, 902)); 

답변

0

width 및 CSS를 사용하여 캔버스의 height 설정, 효과처럼 규모가 발생합니다.

$('#canvas').attr({width: <width>, height: <height>}); 

그 값을 변경하면 캔버스를 취소 할 것을 명심하고 모든 것을 다시 그릴 필요가 : 당신이 당신의 캔버스를 확장해야하는 경우

그래서, 그래서 같이 캔버스의 속성을 사용합니다.

+0

위의 코드는 작동하지 않았습니다. 이 문제는 draw2dtouch에서만 발생합니다. 귀하의 솔루션은 기본 html 캔버스 용이며 타사 라이브러리 용 html 캔버스가 아닙니다. –

+0

결과는 어떤 라이브러리를 생성하든 항상 "기본 HTML 캔버스"가됩니다. 그러나 라이브러리가 크기 조정을 처리 할 수없는 경우 최상의 것은 아닐 수도 있습니다. – philipp