ImageUtils.js 931 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. let _canvas;
  2. const ImageUtils = {
  3. getDataURL: function ( image ) {
  4. if ( /^data:/i.test( image.src ) ) {
  5. return image.src;
  6. }
  7. if ( typeof HTMLCanvasElement == 'undefined' ) {
  8. return image.src;
  9. }
  10. let canvas;
  11. if ( image instanceof HTMLCanvasElement ) {
  12. canvas = image;
  13. } else {
  14. if ( _canvas === undefined ) _canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' );
  15. _canvas.width = image.width;
  16. _canvas.height = image.height;
  17. const context = _canvas.getContext( '2d' );
  18. if ( image instanceof ImageData ) {
  19. context.putImageData( image, 0, 0 );
  20. } else {
  21. context.drawImage( image, 0, 0, image.width, image.height );
  22. }
  23. canvas = _canvas;
  24. }
  25. if ( canvas.width > 2048 || canvas.height > 2048 ) {
  26. return canvas.toDataURL( 'image/jpeg', 0.6 );
  27. } else {
  28. return canvas.toDataURL( 'image/png' );
  29. }
  30. }
  31. };
  32. export { ImageUtils };
粤ICP备19079148号