์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ!
์ง๋ฌธ์ด ์์ต๋๋ค. ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ ์ ์์ต๋๊น? transform: rotate(23deg); ?
๋ง์ ๊ฐ์ฌ
CSS ๋ณํ์ ์์ง ์ง์๋์ง ์์ต๋๋ค.
๊ทธ๋์ base64์์ ์ด๋ฏธ์ง๋ฅผ ํ์ ์ํฌ ์ ์์ต๋๊น?
๋ณํ CSS๊ฐ ์๋ํ์ง ์์ต๋๋ค. ์ด๋ค ํด๊ฒฐ์ฑ ???
@arindamm ์ด์ ๋ํ ์ ์ผํ ๋น ๋ฅธ ํด๊ฒฐ์ฑ
์ "์บ๋ฒ์ค"๋ฅผ "CSS"๋ก ๋ฐ๊พธ๋ ๊ฒ์
๋๋ค.
์บ๋ฒ์ค์์ ์ด๋ฏธ์ง๋ ํ
์คํธ๋ฅผ ๊ฐ์ ธ์ ํ์ ํฉ๋๋ค(์ด ์์
์ "html2canvas" ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ธ๋ถ์์ ์ํ๋์ด์ผ ํ๋ฉฐ ํจ์๋ฅผ ํธ์ถํ๊ธฐ ์ ์ ์์ด์ผ ํจ).
๋ด ์์ฉ ํ๋ก๊ทธ๋จ์ ํตํด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋๋ ์จ๋ผ์ธ ์ด์ผ๊ธฐ ์ฑ ์ ๋ง๋ค ๊ฒ์ด๋ค. ์ฌ์ฉ์๋ ์ํ๋ ๋งํผ ์ด๋ฏธ์ง์ ํ ์คํธ๋ฅผ ๋ฐฐ์นํ ์ ์์ต๋๋ค. ๋ํ ํด๋น ๊ฐ์ฒด์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๊ณ ํ์ ํ ์ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ์ํด DIV ํ๊ทธ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. div ์์์ ๋ฐ์ดํฐ๋ก ์บ๋ฒ์ค๋ฅผ ์ด๋ป๊ฒ ๋ง๋ค ์ ์์ต๋๊น? ์ ์ ๋ถํ๋๋ ค๋ ๋ ๊น์?
@arindamm ๋น์์ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ๋งํ๋ฏ์ด,
"ํ์ "์ด ์๋์ง ๊ฐ์งํ๊ธฐ ์ํด ๋ชจ๋ ์์์ "window.getComputedStyle"(๋๋ jquery)์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ฐ์ฒด ์คํ์ผ์์ "ํ์ "ํ๋ฉด ๊ฐ์ฒด ๋ด๋ถ์ ์๋ "ํ์ " ๊ฐ๊ณผ ํ
์คํธ(๋๋ ์ด๋ฏธ์ง)๋ฅผ ๊ฐ์ ธ์ "์บ๋ฒ์ค"์ ๋ํ ํจ๊ณผ๋ฅผ ์๋ฎฌ๋ ์ด์
ํฉ๋๋ค.
var ์บ๋ฒ์ค = document.getElementById('myCanvas'); var ์ปจํ ์คํธ = ์บ๋ฒ์ค.getContext('2d'); var ์ง์ฌ๊ฐํ ๋๋น = 150; var ์์ง ๋์ด = 75; // ์ปจํ ์คํธ๋ฅผ ์บ๋ฒ์ค ์ค์์ผ๋ก ๋ณํ context.translate(canvas.width / 2, canvas.height / 2); // ์๊ณ ๋ฐฉํฅ์ผ๋ก 45๋ ํ์ context.rotate(Math.PI / 4); context.fillStyle = 'ํ๋์'; context.fillRect(rectWidth / -2, rectHeight / -2, rectWidth, rectHeight);
์ฐ๊ฒฐ:
https://developer.mozilla.org/en-US/docs/DOM/window.getComputedStyle
http://api.jquery.com/css/ (Jquery๋ก CSS ๊ฐ์ ธ์ค๊ธฐ)
http://www.html5canvastutorials.com/advanced/html5-canvas-transform-rotate-tutorial/ (์บ๋ฒ์ค+์๋ฐ์คํฌ๋ฆฝํธ๋ก ํ์ )
๋ฉ๋ชจ:
์ค๋น๋ ์๋ฃจ์
์ ์์ง๋ง ์ด๋ฌํ ๋งํฌ์ ์ฝ๋๋ฅผ ํตํด ๊ทํ์ ์ฌ๋ก์ ๋ํ ๋์์ ๋ง๋ค ์ ์์ต๋๋ค.
๋ ๋ค๋ฅธ ์์ด๋์ด๋ ์์
์ ์ํํ๋ ๊ฐ ๋ธ๋ผ์ฐ์ ์ ๋ํ ํ๋ฌ๊ทธ์ธ์ ๋ง๋๋ ๊ฒ์
๋๋ค.
ํฌ๋กฌ:
chrome.tabs.captureVisibleTab(integer windowId, object options, function callback)
๋งํฌ: http://developer.chrome.com/extensions/tabs.html
ํ์ด์ดํญ์ค: void drawWindow( in nsIDOMWindow window, in float x, in float y, in float w, in float h, in DOMString bgColor, in unsigned long flags [optional]);
๋งํฌ: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D?redirectlocale=en-US&redirectslug=DOM%2FCanvasRenderingContext2D#drawWindow ()
๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ฐ์ ์ฃผ์ ์ ๋ค๋ฅธ ์ฌ๋ฌ ๋ฌธ์ ๊ฐ ์์ผ๋ฏ๋ก ๋ซ์ต๋๋ค.
์ด๋ฏธ์ง๋ฅผ blob์ผ๋ก ํฌํจํ ๋ ํ์ ์ด ์ค์ ๋ก ์๋ํ๋ค๋ ์ ์ ์ฃผ๋ชฉํ๋ ๊ฒ์ด ํฅ๋ฏธ๋ก์ธ ์ ์์ต๋๋ค.
๋ ์ด์ํ ์ ์ ์ผ๋ฃฉ ์์ด๋ ์๋ํฉ๋๋ค. ๋ช ์ฃผ ์ ์ ๋ฐ์ ๋ด ํ์ผ์๋ 0.4.1์ด๋ผ๊ณ ๋์ ์์ต๋๋ค. ์ง์ ๋น๋ํ๊ฑฐ๋ bower๋ฅผ ํตํด ์ค์นํ ๋ ์๋ํ์ง ์์์ต๋๋ค. ์ ๊ฐ์ค๋ฝ๊ฒ๋ ๋๋ ๊ทธ๊ฒ์ ๊ฐ์ง๊ณ ๋์๋ ๊ณณ์ ๊ธฐ์ตํ์ง ๋ชปํฉ๋๋ค ...
0.4.1์ ์ฌ์ฉํ์ฌ ํ์ธ๋์ ์ ํํ ๋ Content div๊ฐ ๋ด๋ ค์ต๋๋ค.
๋๊ตฌ๋ ์ง ์ ๋ฅผ ๋์์ฃผ์ธ์.
์ฌ๊ธฐ์ ์ค๋ช
๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ํํ ์ ์์ต๋๋ค.
http://www.jjoe64.com/2015/10/html2canvas-and-css-transform-rotate.html
@jjoe64 ๋งํฌ๋ก ๊ฐ์ฌํ์ง๋ง html2canvas์๋ ์๋ฏธ๊ฐ ์์ต๋๋ค.
html2canvas๋ ์บ๋ฒ์ค์ ๋ ๋๋ง(๋ค์ ๊ทธ๋ฆฌ๊ธฐ) DOM ์์(๋๋ ์ ์ฒด ํ์ด์ง)์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฉฐ ๋ ๋๋ง ์บ๋ฒ์ค ํ๊ทธ๊ฐ ์์ต๋๋ค.
๊ทํ์ ์๋ฃจ์ ์ ํ์ ์ด ์๋ ํ๋์ ์์์ ๋ํด์๋ง ์๋ํฉ๋๋ค.
์, ์๋ฒฝํ๊ฒ ์๋ํ๋ ์๋ฃจ์ ์ ์๋์ง๋ง ํ์ ๋ ํ ์คํธ๋ ์ด๋ฏธ์ง๋ฅผ ๋ ๋๋งํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ฌธ์ ์ ๋ํ _ํด๊ฒฐ ๋ฐฉ๋ฒ_์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์ฌ์ฉ ์ฌ๋ก์ ๊ฒฝ์ฐ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ํ๋ก์ ํธ์์ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค.
CSS ๋ณํ์ผ๋ก div๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ: ์๊ทผ?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
CSS ๋ณํ์ผ๋ก div๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ: ์๊ทผ?