5

나는 몇 시간 동안 지금 documentation을 읽고 객관적인 c 코코아 응용 프로그램에서 2 차원 그래픽을 그리는 것에 대해 읽었습니다. 특정 작업에 특정한 여러 가지 기술이있는 것처럼 보입니다. 내 이해는 다음 기술은 다음과 같은 일을한다는 것입니다. 내가 틀렸다면 나를 바로 잡아주세요.Cocoa 2D 그래픽 : Quartz, Core Image 또는 Core Animation?

  • Quartz 2D : 모양, 텍스트 및 이미지를 화면에 그리기위한 기본 라이브러리.
  • 코어 그래픽 : 이것은 Quartz가 포함 된 프레임 워크의 이름입니다. 이것은 Quartz의 동의어로 사용할 수 있습니다.
  • QuartzGL : Quartz의 GPU 가속 모드는 기본적으로 활성화되어 있지 않으며 화면 상에 그림을 그리는 데는 necessarily faster이 아닙니다.
  • OpenGL : 가장 낮은 수준의 라이브러리로 더 많은 코드 라인을 사용하여 직접 그래픽 카드와 대화하십시오. 3D 그래픽에 더 적합합니다.
  • 코어 이미지 : 이미지 및 텍스트를 표시하기위한 라이브러리이지만 그리기 모양 기본 요소에는 그리 많지 않습니다.
  • 코어 애니메이션 : 오브젝트를 자동으로 애니메이트하는 라이브러리. 분명히 moving large numbers of objects에 적합하지 않습니다. continuous animation of objects도 아닙니다.
  • QuickTime : 비디오뿐만 아니라 이미지와 텍스트도 분명히하지만 원시 도형을 그리는 데는 좋지 않은 라이브러리입니다.

내가하고 싶은 것은 특정 데이터 유형에 대한 브라우저를 만드는 것입니다. 보기는 그리 복잡하지 않고 특정 위치에 직사각형을 그리는 것으로 구성됩니다. 그러나 사용자는보기를 왼쪽이나 오른쪽으로 드래그하여 이동할 수 있어야하며이 운동은 유동적이어야합니다. 여기에 매우 가까운 예는 내가 만들려고 해요 :

http://jbrowse.org/ucsc/hg19/

은 무엇 도면 기술 당신은 내가 함께 코딩을 시작 운영자 추천까요?

답변

5

석영을 원합니다. 대용량의 데이터를 그래프로 표시하지 않는 한 모든 Mac (iOS가 아닌 Mac이라 가정합니다)에서 쉽게 처리해야합니다. 그것은 쉽고 효율적이며, 당신이 가야 할 곳으로 당신을 데려다 줄 것입니다. 드래그 동작의 경우 Core Animation 레이어로 드래그하는 것이 좋습니다.

참고 : 결국 모든 항목은 AppKit (Mac) 또는 UIKit (iOS) 및 Core Animation에서 처리됩니다. 그래픽 작업을하는 경우 표시되는 모든 것을 관리하기 때문에 어느 시점에서 Core Animation이 발생합니다.

참고 : 데이터를 많이 사용하는 경우, OpenGL을 사용할 수 있지만 표시가 시작될 때까지 필요하지는 않습니다

관련 문제