-
토이 프로젝트 만들다 생긴 오늘의 이슈👔, 📚, 🍱 2021. 10. 6. 23:21
지금 html, css, 순수 js를 이용해서 인터렉션 효과를 가진 컬러피커 작품을 만지고 있는데 작품을 반 정도 만든 상태에서 문제가 하나 발생했다.
캔버스 누구냐 넌.
캔버스. 누구냐 넌. 캔버스는 처음 사용해보는 거라 어디에 쓰는지 당최 알 수 없었다. ( 나 정말 프론트 개발자 목표로 삼고있는건 맞냐;; )
캔버스는 어디에 사용되는 걸까?
검색을 해보니 웹 그림판, 차트, 비디오 삽입 등등 많은 곳에서 사용되고있다.
내가 구현하려는 색깔 코드를 집어주는 기능 또한 캔버스를 이용해야 가능하다. 그래서 캔버스를 이용해서 구현하려고 사용했지만,
캔버스 객체 내부의 자바스크립트를 잘 이해하지 못하고 무작정 시도한 탓에 삽질을 오랫동안했다.
지금은 해결해서 다행이긴하지만, 해결 한 뒤의 코드를 보면 엄청 적다. 결국 사용법을 제대로 인지하지 못한 채 사용한 이유 때문에 진입한 벽이 너무 높아 보였던거같다.
이슈는 다음과 같다. 캔버스 내부의 색깔을 클릭하면 해당 rgb 코드를 읽어 와야하는데 못 읽어 왔던 것이다.
분명히 캔버스는 눈에 보이고, width와 height값도 css에서 설정했지만 어쩐지 읽지 못하는 것이다!
그래서 천천히 mdn을 다시 읽기 시작했고, 다른 사람들의 코드를 보며 어떻게 사용했는지도 코드 해석도했다.
결과로 이슈가 난 이유는 다음과 같다.
캔버스를 생성할 때 css로 width 100%이런 식으로 설정이 아닌 html내부에서 canvas 태그 내부 속성으로 넣어줘야하는데 그것을 모른채 색을 뽑아내려하니 캔버스자체에서 거부했던 것이다.
이렇게 적어놓으니 캔버스는 당연히 자신의 캔버스 크기가 명시되어있지 않으니 색 값을 안 준것이다.
이 후 자바스크립트 단에서 캔버스의 width값을 조정하여 잘 해결하였다.
프론트엔드 개발자를 목표를 삼으며 현재까지 공부했지만 이번 일로 인해 이때까지 공부했던것이 모두 애매하게만 끝낸 거 같아 내 자신이 안타깝다.
이참에 js공부하면서 모르는 태그들에 대해서 한번 공부해보는 시간을 절실히 느낀다.
css는 덤으로 js를 구현 하지않고도, 자체적으로 구현 가능한 기능들에 대해서 알아보아야겠다.'👔, 📚, 🍱' 카테고리의 다른 글
"JS heap out of memory" 에러 해결 - 'aws-sdk' 패키지 (0) 2022.02.09 당분간 파이어베이스는 9.2.0 버전 이하로 사용합시다! [9.6.0 이후 Bug Fix 되었습니다.] (0) 2021.11.09 Next.JS와 파이어베이스 로그인 구현 삽질 연대기 (0) 2021.11.08 하하하 코드블럭 새단장! (0) 2021.10.08 모바일 티스토리 수정시 오류.. (0) 2021.10.06