forked from GithubMirrors/cardconjurer
		
	Update print.js
This commit is contained in:
		| @@ -12,6 +12,7 @@ var canvas = document.querySelector('canvas'); | |||||||
| var context = canvas.getContext('2d'); | var context = canvas.getContext('2d'); | ||||||
| drawSheet(); | drawSheet(); | ||||||
|  |  | ||||||
|  |  | ||||||
| function uploadCard(card) { | function uploadCard(card) { | ||||||
|     var img = new Image(); |     var img = new Image(); | ||||||
|     img.crossOrigin = 'anonymous'; |     img.crossOrigin = 'anonymous'; | ||||||
| @@ -22,14 +23,13 @@ function uploadCard(card) { | |||||||
| function drawSheet() { | function drawSheet() { | ||||||
|     canvas.width = pageWidth; |     canvas.width = pageWidth; | ||||||
|     canvas.height = pageHeight; |     canvas.height = pageHeight; | ||||||
|     context.fillStyle = 'white'; |     context.clearRect(0, 0, pageWidth, pageHeight); | ||||||
|     context.fillRect(0, 0, pageWidth, pageHeight); |  | ||||||
|     const cardsX = Math.floor(pageWidth / cardWidth); |     const cardsX = Math.floor(pageWidth / cardWidth); | ||||||
|     const cardsY = Math.floor(pageHeight / cardHeight); |     const cardsY = Math.floor(pageHeight / cardHeight); | ||||||
|     var count = 0; |     var count = 0; | ||||||
|     for (var i = imageList.length - 1; i >= 0 && count < 9; i --) { |     for (var i = imageList.length - 1; i >= 0 && count < 9; i --) { | ||||||
|         if (imageList[i].width > 1) { |         if (imageList[i].width > 1) { | ||||||
|             context.drawImage(imageList[i], (pageWidth - cardsX * cardWidth - cardMarginX) / 2 + (count % cardsX) * (cardWidth + cardMarginX), (pageHeight - cardsY * cardHeight - cardMarginY) / 2 + (Math.floor(count / cardsX) % cardsY) * (cardHeight + cardMarginY), cardWidth, cardHeight); |             context.drawImage(imageList[i], (pageWidth - cardsX * cardWidth) / 2 + (count % cardsX) * (cardWidth + cardMarginX) - cardMarginX, (pageHeight - cardsY * cardHeight) / 2 + (Math.floor(count / cardsX) % cardsY) * (cardHeight + cardMarginY) - cardMarginY, cardWidth, cardHeight); | ||||||
|         } |         } | ||||||
|         count ++; |         count ++; | ||||||
|     } |     } | ||||||
| @@ -42,4 +42,26 @@ async function downloadSheet() { | |||||||
|     document.body.appendChild(download); |     document.body.appendChild(download); | ||||||
|     await download.click(); |     await download.click(); | ||||||
|     download.remove(); |     download.remove(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function downloadPDF() { | ||||||
|  |     var doc = new jsPDF({ | ||||||
|  |         orientation: 'portrait', | ||||||
|  |         unit: 'in', | ||||||
|  |         format: [pageWidth / ppi, pageHeight / ppi] | ||||||
|  |     }); | ||||||
|  |     doc.addImage(canvas.toDataURL('image/png'), 'PNG', 0, 0, pageWidth / ppi, pageHeight / ppi); | ||||||
|  |     doc.save('print.pdf'); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function setPageSize(size = [8.5, 11]) { | ||||||
|  |     pageWidth = parseFloat(size[0]) * ppi; | ||||||
|  |     pageHeight = parseFloat(size[1]) * ppi; | ||||||
|  |     drawSheet(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function setCardDistance(distance) { | ||||||
|  |     cardMarginX = parseInt(distance); | ||||||
|  |     cardMarginY = parseInt(distance); | ||||||
|  |     drawSheet(); | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user
	 Kyle
					Kyle