@@ -14,10 +14,10 @@ dom-to-image-more. As browsers have matured, many of the hacks we're accumulated
1414years are not needed, or better ways have been found to handle some edge-cases. With the
1515help of folks like @meche-gh , in #99 we're stripping out the following members:
1616
17- - `.mimes` - was the not-very-comprehensive list of mime types used to handle inlining things
18- - `.parseExtension` - was a method to extract the extension from a filename, used to guess mime types
19- - `.mimeType` - was a method to map file extensions to mime types
20- - `.dataAsUrl` - was a method to reassemble a `data:` URI from a Base64 representation and mime type
17+ - ` .mimes ` - was the not-very-comprehensive list of mime types used to handle inlining things
18+ - ` .parseExtension ` - was a method to extract the extension from a filename, used to guess mime types
19+ - ` .mimeType ` - was a method to map file extensions to mime types
20+ - ` .dataAsUrl ` - was a method to reassemble a ` data: ` URI from a Base64 representation and mime type
2121
2222The 3.x release branch should also fix more node compatibility and ` iframe ` issues.
2323
@@ -46,110 +46,110 @@ Moved to [1904labs organization](https://github.com/1904labs/) from my repositor
4646
4747Then load
4848
49- ```javascript
50- /* in ES 6 */
51- import domtoimage from 'dom-to-image-more';
52- /* in ES 5 */
53- var domtoimage = require('dom-to-image-more');
54- ```
49+ ``` javascript
50+ /* in ES 6 */
51+ import domtoimage from ' dom-to-image-more' ;
52+ /* in ES 5 */
53+ var domtoimage = require (' dom-to-image-more' );
54+ ```
5555
5656## Usage
5757
5858All the top level functions accept DOM node and rendering options, and return promises,
5959which are fulfilled with corresponding data URLs. Get a PNG image base64-encoded data URL
6060and display right away:
6161
62- ```javascript
63- var node = document.getElementById('my-node');
64-
65- domtoimage
66- .toPng(node)
67- .then(function (dataUrl) {
68- var img = new Image();
69- img.src = dataUrl;
70- document.body.appendChild(img);
71- })
72- .catch(function (error) {
73- console.error('oops, something went wrong!', error);
74- });
75- ```
62+ ``` javascript
63+ var node = document .getElementById (' my-node' );
64+
65+ domtoimage
66+ .toPng (node)
67+ .then (function (dataUrl ) {
68+ var img = new Image ();
69+ img .src = dataUrl;
70+ document .body .appendChild (img);
71+ })
72+ .catch (function (error ) {
73+ console .error (' oops, something went wrong!' , error);
74+ });
75+ ```
7676
7777Get a PNG image blob and download it (using
7878[ FileSaver] ( https://github.com/eligrey/FileSaver.js/ ) , for example):
7979
80- ```javascript
81- domtoimage.toBlob(document.getElementById('my-node')).then(function (blob) {
82- window.saveAs(blob, 'my-node.png');
83- });
84- ```
80+ ``` javascript
81+ domtoimage .toBlob (document .getElementById (' my-node' )).then (function (blob ) {
82+ window .saveAs (blob, ' my-node.png' );
83+ });
84+ ```
8585
8686Save and download a compressed JPEG image:
8787
88- ```javascript
89- domtoimage
90- .toJpeg(document.getElementById('my-node'), { quality: 0.95 })
91- .then(function (dataUrl) {
92- var link = document.createElement('a');
93- link.download = 'my-image-name.jpeg';
94- link.href = dataUrl;
95- link.click();
96- });
97- ```
88+ ``` javascript
89+ domtoimage
90+ .toJpeg (document .getElementById (' my-node' ), { quality: 0.95 })
91+ .then (function (dataUrl ) {
92+ var link = document .createElement (' a' );
93+ link .download = ' my-image-name.jpeg' ;
94+ link .href = dataUrl;
95+ link .click ();
96+ });
97+ ```
9898
9999Get an SVG data URL, but filter out all the ` <i> ` elements:
100100
101- ```javascript
102- function filter(node) {
103- return node.tagName !== 'i';
104- }
101+ ``` javascript
102+ function filter (node ) {
103+ return node .tagName !== ' i' ;
104+ }
105105
106- domtoimage
107- .toSvg(document.getElementById('my-node'), { filter: filter })
108- .then(function (dataUrl) {
109- /* do something */
110- });
111- ```
106+ domtoimage
107+ .toSvg (document .getElementById (' my-node' ), { filter: filter })
108+ .then (function (dataUrl ) {
109+ /* do something */
110+ });
111+ ```
112112
113113Get the raw pixel data as a
114114[ Uint8Array] ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array )
115115with every 4 array elements representing the RGBA data of a pixel:
116116
117- ```javascript
118- var node = document.getElementById('my-node');
117+ ``` javascript
118+ var node = document .getElementById (' my-node' );
119119
120- domtoimage.toPixelData(node).then(function (pixels) {
121- for (var y = 0; y < node.scrollHeight; ++y) {
122- for (var x = 0; x < node.scrollWidth; ++x) {
123- pixelAtXYOffset = 4 * y * node.scrollHeight + 4 * x;
124- /* pixelAtXY is a Uint8Array[4] containing RGBA values of the pixel at (x, y) in the range 0..255 */
125- pixelAtXY = pixels.slice(pixelAtXYOffset, pixelAtXYOffset + 4);
126- }
120+ domtoimage .toPixelData (node).then (function (pixels ) {
121+ for (var y = 0 ; y < node .scrollHeight ; ++ y) {
122+ for (var x = 0 ; x < node .scrollWidth ; ++ x) {
123+ pixelAtXYOffset = 4 * y * node .scrollHeight + 4 * x;
124+ /* pixelAtXY is a Uint8Array[4] containing RGBA values of the pixel at (x, y) in the range 0..255 */
125+ pixelAtXY = pixels .slice (pixelAtXYOffset, pixelAtXYOffset + 4 );
127126 }
128- });
129- ```
127+ }
128+ });
129+ ```
130130
131131Get a canvas object:
132132
133- ```javascript
134- domtoimage.toCanvas(document.getElementById('my-node')).then(function (canvas) {
135- console.log('canvas', canvas.width, canvas.height);
136- });
137- ```
133+ ``` javascript
134+ domtoimage .toCanvas (document .getElementById (' my-node' )).then (function (canvas ) {
135+ console .log (' canvas' , canvas .width , canvas .height );
136+ });
137+ ```
138138
139139Adjust cloned nodes before/after children are cloned
140140[ sample fiddle] ( https://jsfiddle.net/IDisposable/grLtjwe5/12/ )
141141
142- ```javascript
143- const adjustClone = (node, clone, after) => {
144- if (!after && clone.id === 'element') {
145- clone.style.transform = 'translateY(100px)';
146- }
147- return clone;
148- };
142+ ``` javascript
143+ const adjustClone = (node , clone , after ) => {
144+ if (! after && clone .id === ' element' ) {
145+ clone .style .transform = ' translateY(100px)' ;
146+ }
147+ return clone;
148+ };
149149
150- const wrapper = document.getElementById('wrapper');
151- const blob = domtoimage.toBlob(wrapper, { adjustClonedNode: adjustClone });
152- ```
150+ const wrapper = document .getElementById (' wrapper' );
151+ const blob = domtoimage .toBlob (wrapper, { adjustClonedNode: adjustClone });
152+ ```
153153
154154---
155155
@@ -172,11 +172,11 @@ should be included in the output
172172
173173Sample use:
174174
175- ```javascript
176- filterStyles(node, propertyName) {
177- return !propertyName.startssWith('--'); // to filter out CSS variables
178- }
179- ```
175+ ``` javascript
176+ filterStyles (node , propertyName ) {
177+ return ! propertyName .startssWith (' --' ); // to filter out CSS variables
178+ }
179+ ```
180180
181181#### adjustClonedNode
182182
@@ -187,14 +187,14 @@ we've cloned the children already (so you can handle either before or after)
187187
188188Sample use:
189189
190- ```javascript
191- const adjustClone = (node, clone, after) => {
192- if (!after && clone.id === 'element') {
193- clone.style.transform = 'translateY(100px)';
194- }
195- return clone;
190+ ``` javascript
191+ const adjustClone = (node , clone , after ) => {
192+ if (! after && clone .id === ' element' ) {
193+ clone .style .transform = ' translateY(100px)' ;
196194 }
197- ```
195+ return clone;
196+ }
197+ ```
198198
199199const wrapper = document.getElementById('wrapper'); const blob =
200200domtoimage.toBlob(wrapper, { adjustClonedNode: adjustClone});
@@ -371,17 +371,17 @@ taken:
371371
372372## Using Typescript
373373
374- 1 . Use original ` dom-to-image ` type definition
374+ 1 . Use original ` dom-to-image ` type definition
375375 ` npm install @types/dom-to-image --save-dev `
376376
377- 1 . Create dom-to-image-more type definition (` dom-to-image-more.d.ts ` )
377+ 1 . Create dom-to-image-more type definition (` dom-to-image-more.d.ts ` )
378378
379- ```javascript
380- declare module 'dom-to-image-more' {
381- import domToImage = require('dom-to-image-more');
382- export = domToImage;
383- }
384- ```
379+ ``` javascript
380+ declare module ' dom-to-image-more' {
381+ import domToImage = require(' dom-to-image-more' );
382+ export = domToImage ;
383+ }
384+ ```
385385
386386## Things to watch out for
387387
0 commit comments