38 lines
		
	
	
		
			821 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			821 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
		
			Vendored
		
	
	
	
| importScripts('https://cdn.jsdelivr.net/npm/jimp@0.16.0/browser/lib/jimp.js');
 | |
| 
 | |
| self.addEventListener('message', function (e) {
 | |
|   // e.data => dataURL
 | |
|   Jimp.read(e.data)
 | |
|     .then(image => {
 | |
|       var width = image.bitmap.width
 | |
|       if (width > 900) {
 | |
|         width = 900
 | |
|       }
 | |
| 
 | |
|       image
 | |
|         .resize(width, Jimp.AUTO)
 | |
|         .quality(60)
 | |
|         .getBase64Async(Jimp.MIME_JPEG)
 | |
|         .then((dataURL) => {
 | |
|           res = {
 | |
|             stts: true,
 | |
|             data: dataURL // base64
 | |
|           }
 | |
|           self.postMessage(res)
 | |
|         })
 | |
|         .catch(err => {
 | |
|           res = {
 | |
|             stts: false,
 | |
|             data: err
 | |
|           }
 | |
|           self.postMessage(res)
 | |
|         })
 | |
|     })
 | |
|     .catch(err => {
 | |
|       res = {
 | |
|         stts: false,
 | |
|         data: err
 | |
|       }
 | |
|       self.postMessage(res)
 | |
|     })
 | |
| }) | 
