프로그래밍 방식으로 개체를 올바르게 이동하는 방법은 무엇입니까?

파벨 그리 신

마우스 커서 뒤에서 개체를 이동해야합니다. 코드를 사용하면 큰 성능 문제가 있습니다.

canvas.on('mouse:move', (event) => {
    const pointer = canvas.getPointer(event);
    cursor.set({
        top: pointer.y,
        left: pointer.x,
    });
    canvas.renderAll();
})

내가 아는 한 패브릭은 2 개의 레이어를 생성하는데, 이동을 위해 상단 레이어에 물체를 놓을 수 있습니까?

다음은 https://jsfiddle.net/Warmor/7bL02sjv/38/ 의 예입니다.

Durga

모든 라인의 그룹을 만들고 제거 perPixelTargetFind하고 가장 중요한 호출 canvas # renderAll 이 아니라 canvas # requestRenderAll을 제거하십시오 .

데모

const canvas = new fabric.Canvas("canvas", {
  width: 500,
  height: 500,
  selection: false,
  centeredScaling: true,
});

const createLine = (index) => {
  return new fabric.Line([index * 5, 0, 500 - index * 5, 500], {
    stroke: "#000",
    strokeWidth: 1,
    fill: "#000"
  });
};
const lines = [];
for (i = 0; i < 100; i++) {
  lines.push(createLine(i));
}
const group = new fabric.Group(lines, {
  selectable: false
});
canvas.add(group);

const cursor = new fabric.Rect({
  stroke: "#000",
  strokeWidth: 1,
  fill: "red",
  width: 50,
  height: 50,
  top: 0,
  left: 0,
  selectable: false
});
canvas.add(cursor);

canvas.on('mouse:move', (event) => {
  const pointer = canvas.getPointer(event);
  cursor.set({
    top: pointer.y,
    left: pointer.x,
  });
  canvas.requestRenderAll();
})
.canvas {
  width: 1000px;
  height: 1000px;
  border: 1px solid Black;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.4.0/fabric.js"></script>
<canvas id="canvas" class="canvas" ></canvas>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

(프로그래밍 방식으로) 일부 viewController를 포함하는 컨테이너 뷰를 올바르게 만드는 방법은 무엇입니까?

Swift에서 프로그래밍 방식으로 생성 된 PDF에 비밀번호를 올바르게 추가하는 방법은 무엇입니까?

JavaScript에서 내 개체가 프로그래밍 방식으로 선택 요소에 올바르게 추가되지 않는 이유는 무엇입니까?

이름으로 배열에서 개체를 올바르게 삭제하는 방법은 무엇입니까?

프로그래밍 방식으로 신속하게 TextView를 생성하는 방법은 무엇입니까?

프로그래밍 방식으로 탭바의 높이를 얻는 방법은 무엇입니까?

프로그래밍 방식으로 Enter 키를 누르는 방법은 무엇입니까?

Drawer를 네이티브 방식으로 올바르게 사용하는 방법은 무엇입니까?

Android에서 프로그래밍 방식으로 모바일 장치를 켜는 방법은 무엇입니까?

Caps Lock과 Esc 키를 프로그래밍 방식으로 바꾸는 방법은 무엇입니까?

Android - 프로그래밍 방식으로 SVG의 Path 개체를 얻는 방법은 무엇입니까?

useState 및 양식으로 상태를 올바르게 업데이트하는 방법은 무엇입니까?

팬더에서 읽는 동안 프로그래밍 방식으로 Excel 파일의 올바른 헤더를 파악하는 방법은 무엇입니까?

동일한 클래스의 두 개체를 올바르게 비교하는 방법은 무엇입니까?

개체 안전하지 않은 유형으로 작동하는 개체를 올바르게 특성화하는 방법은 무엇입니까?

체크 박스와 스크롤바가있는 동적 GUI를 프로그래밍 방식으로 구현하는 방법은 무엇입니까?

특정 형식으로 읽은 na_values를 올바르게 제거하는 방법은 무엇입니까?

함수형 프로그래밍을 사용하여 '확장'을 올바르게 대체하는 방법은 무엇입니까?

BeautifulSoup으로 요소를 올바르게 얻는 방법은 무엇입니까?

프로그래밍 방식으로 가변 개수의 "and"게이트 (논리 게이트)를 정의하는 방법은 무엇입니까?

이동 의미 체계로 리소스를 올바르게 관리하는 방법은 무엇입니까?

View의 하단이 ConstraintLayout의 다른 View 상단과 프로그래밍 방식으로 정렬되도록 View의 크기를 올바르게 조정하는 방법은 무엇입니까?

firebase의 로그인 방법으로 useEffect를 올바르게 사용하는 방법은 무엇입니까?

Angular 5-첫 번째 양식 빌드 후 날짜 파이프를 동적 양식으로 올바르게 렌더링하는 방법은 무엇입니까?

태그를 올바르게 인식하는 방법은 무엇입니까?

알림에서 프로그래밍 방식으로 활동을 재개하는 방법은 무엇입니까?

프로그래밍 방식으로 선형 레이아웃의 올바른 높이를 얻는 방법은 무엇입니까?

프로그래밍 방식으로 TextView의 서체를 설정하는 방법은 무엇입니까?

특정 형식으로 날짜를 올바르게 만드는 방법은 무엇입니까?

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관