๋ฒ์ 3.1.0 ์ด์.
๋ฒ์ 3.0.0์์๋ ๋ฐ์ํ์ง ์์ต๋๋ค.
์คํ ์ถ์ :
SecurityError: 'CanvasRenderingContext2D'์์ 'getImageData' ์คํ ์คํจ: ์บ๋ฒ์ค๊ฐ ์๋ณธ ๊ฐ ๋ฐ์ดํฐ์ ์ํด ์ค์ผ๋์์ต๋๋ค.
์ค๋ฅ: 'CanvasRenderingContext2D'์์ 'getImageData' ์คํ ์คํจ: ์บ๋ฒ์ค๊ฐ ์๋ณธ ๊ฐ ๋ฐ์ดํฐ์ ์ํด ์ค์ผ๋์์ต๋๋ค.
BrowserImage.getImageData์์ (browser.js?cf4e:105)
BrowserImage.ImageBase.applyFilter์์ (base.js?de7c:22)
Vibrant._process์์ (vibrant.js?b6c6:22)
...
๋๋ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉด ํด์๋ค
์ ๋ ์ค๋ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์๋ฌด๊ฒ๋ ์
๋ฐ์ดํธํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋ฌด์์ด ์์๋์๋์ง ํ์คํ์ง ์์ต๋๋ค.
stackoverflow์ ๋ํ ๋ต๋ณ์ ์ฐพ์์ง๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ๋ด๋ถ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ค๊ฐ์ ์ด๋ป๊ฒ ๊ณ ์ณ์ผ ํ ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
@Shannor ์ด๋ฏธ ์ฝ๋ ๋ฒ ์ด์ค์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ๋ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฒด๊ฐ ์๋๋ผ ์ด๋ฏธ์ง๊ฐ ์ ๊ณต๋๋ ์์น์ ๋ฌธ์ ์ธ์ง ๊ถ๊ธํฉ๋๋ค. ์์ ์ค์ธ ํ๋ก์ ํธ์์ ๊ฐํ์ ์ผ๋ก ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. https://github.com/akfish/node-vibrant/blob/178f6afad09717e22613068a9229fe169b3c3228/src/image/browser.ts#L52
ํ์ฌ ๋ด ์ด๋ฏธ์ง๋ Google Cloud ๋ฒํท์์ ๊ฐ์ ธ์ค๊ณ ์์ต๋๋ค. ์ด ์์ ์์ ๋ชจ๋ ์ฌ๋์ด ํด๋ผ์ฐ๋ ํธ์คํ ์๋น์ค(AWS, Azure ๋ฑ)๋ฅผ ์ด๋ ์ ๋ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. node-vibrant๊ฐ ์ํํ๊ฑฐ๋ ์ ์ฌํ ์์ ์ ์ํํ๋ ๋ค๋ฅธ ์ ์ฅ์์์ ์ด ๋ฒ๊ทธ๋ฅผ ๋ณด์๊ธฐ ๋๋ฌธ์ ์ํฅ์ ๋ฏธ์น๋ ๋ธ๋ผ์ฐ์ ๋ณ๊ฒฝ์ผ ์ ์์ต๋๋ค. ๋๋ ๊ณ์ ๊ฒฝ๊ณํ๊ณ ๋ด๊ฐ ์ฐพ์ ๋ชจ๋ ๊ฒ์ ์๋ก์ด ์ ๋ณด์ ์ฐ๊ฒฐํ ๊ฒ์ ๋๋ค.
์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ - 1, 3์ด ๋์ ๋ผ๋์ค ์นจ๋ฌต์ ๋ํด ์ฃ์กํฉ๋๋ค. ์ต๊ทผ์ ๋ ์์ ์ ์ํด ๋ง์ ์ผ์ ํ๊ณ ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ๋ํด ์์
ํ ์ ์๋ ๋ฐ ์ฝ 2์ฃผ๊ฐ ์์๋๊ณ (๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ์ผ๋ถ ๋ฒ๊ทธ๋ฅผ ํฌ๊ฒ ์์ ํจ) crossOrigin
๊ด๋ จ๋ ๋ช ๊ฐ์ง ํญ๋ชฉ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋์ด ์กฐ์ฌํ๊ณ ์๋ ๊ฒฝ์ฐ ๋์์ด ๋๋๋ก ๋
ธ๋ ฅํ๊ฒ ์ต๋๋ค(PR์ ์ฌ๋ํ๊ณ ์กฐ์ฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค! โฅ)
๋ฌธ์ ์ ์ฝ๋๋ #61๋ก ์ถ๊ฐ๋์์ผ๋ฉฐ ๊ฒฐ๊ตญ ์ปค๋ฐ ed21a58fda54774590da729d1a47e2b0b6f5a3a8์์ #81๋ก ์ด๋๋์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ ๋๋ก ํ๋ง๋๊ณ ์๊ณ crossOrigin์ด ์๋ช ์ฃผ๊ธฐ ๋ฑ์์ ์ ์ ํ๊ฒ ์ค์ ๋์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ด ๋ณํฉ์ ์กฐ๊ธ ๋ ์กฐ์ฌํด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ - 1, 3์ด ๋์ ๋ผ๋์ค ์นจ๋ฌต์ ๋ํด ์ฃ์กํฉ๋๋ค. ์ต๊ทผ์ ๋ ์์ ์ ์ํด ๋ง์ ์ผ์ ํ๊ณ ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ๋ํด ์์ ํ ์ ์๋ ๋ฐ ์ฝ 2์ฃผ๊ฐ ์์๋๊ณ (๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ์ผ๋ถ ๋ฒ๊ทธ๋ฅผ ํฌ๊ฒ ์์ ํจ)
crossOrigin
๊ด๋ จ๋ ๋ช ๊ฐ์ง ํญ๋ชฉ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋์ด ์กฐ์ฌํ๊ณ ์๋ ๊ฒฝ์ฐ ๋์์ด ๋๋๋ก ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค(PR์ ์ฌ๋ํ๊ณ ์กฐ์ฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค! โฅ)๋ฌธ์ ์ ์ฝ๋๋ #61๋ก ์ถ๊ฐ๋์์ผ๋ฉฐ ๊ฒฐ๊ตญ ์ปค๋ฐ ed21a58fda54774590da729d1a47e2b0b6f5a3a8์์ #81๋ก ์ด๋๋์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ ๋๋ก ํ๋ง๋๊ณ ์๊ณ crossOrigin์ด ์๋ช ์ฃผ๊ธฐ ๋ฑ์์ ์ ์ ํ๊ฒ ์ค์ ๋์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ด ๋ณํฉ์ ์กฐ๊ธ ๋ ์กฐ์ฌํด์ผ ํฉ๋๋ค.