code

HTML5 Canvas 요소에서 사용자 정의 글꼴을 사용하려면 어떻게해야합니까?

codestyles 2020. 10. 30. 08:06
반응형

HTML5 Canvas 요소에서 사용자 정의 글꼴을 사용하려면 어떻게해야합니까?


Cufon 및 typeface.js와 같은 것을 살펴 보았지만 SIFR 대안으로 보이며 자유형 좌표를 설정하고 사용자 정의 유형을 그릴 수 없습니다. <canvas>

누구나 아이디어가 있습니까?


@ font-face로이 작업을 수행하는 방법을 보여주는 jsfiddle에 대한 간단한 데모를 함께 만들었습니다. http://jsfiddle.net/zMKge/

Opera 에는 텍스트 API를 포함하여 를 사용 하는 간단한 자습서 도 있습니다 <canvas>.

CSS :

@font-face {
    font-family: 'KulminoituvaRegular';
    src: url('http://www.miketaylr.com/f/kulminoituva.ttf');
}

자바 스크립트 :

var ctx = document.getElementById('c').getContext('2d');
var kitty = new Image();
kitty.src = 'http://i954.photobucket.com/albums/ae30/rte148/891blog_keyboard_cat.gif';
kitty.onload = function(){
  ctx.drawImage(this, 0,0,this.width, this.height);
  ctx.font         = '68px KulminoituvaRegular';
  ctx.fillStyle = 'orangered';
  ctx.textBaseline = 'top';
  ctx.fillText  ('Keyboard Cat', 0, 270);
};

이 질문에 방금 대답했습니다 : Preload font HTML5, JS, Kinetic.js?

필수 부분 :

@font-face {
    font-family: 'myfont';
    src: url('myfont.eot');
    src: url('myfont.eot?#iefix') format('embedded-opentype'),
         url('myfont.woff') format('woff'),
         url('myfont.ttf') format('truetype'),
         url('myfont.svg#myfont') format('svg');
    font-weight: normal;
    font-style: normal;
}

KineticJS를 사용하는지 여부는 중요하지 않습니다. KineticJS가없는 유일한 차이점은 컨테이너로 div 레이어를 사용하는 대신 HTML을 사용하여 캔버스 요소를 직접 만들 수 있다는 것입니다. 결국 KineticJS는 해당 컨테이너에 일반 Canvas 요소를 생성합니다.

참고 URL : https://stackoverflow.com/questions/2608022/how-can-i-use-custom-fonts-in-an-html5-canvas-element

반응형