Merge remote-tracking branch 'origin/StableVersion' into localDevelop
This commit is contained in:
@@ -1,45 +1,48 @@
|
||||
import html2canvas from "html2canvas";
|
||||
const getJpeg = dom =>{
|
||||
return new Promise(resolve =>{
|
||||
html2canvas(dom,{useCORS: true,}).then(canvas =>{
|
||||
let base64 = canvas.toDataURL('image/jpeg',.9);
|
||||
let quality = 0.9 // 压缩系数0-1之间
|
||||
let newImage = new Image()
|
||||
newImage.src = base64
|
||||
newImage.setAttribute('crossOrigin', 'Anonymous') // url为外域时需要
|
||||
let imgWidth,
|
||||
imgHeight
|
||||
let w = undefined
|
||||
newImage.onload = function () {
|
||||
w = this.width * 1
|
||||
imgWidth = this.width
|
||||
imgHeight = this.height
|
||||
let canvas = document.createElement('canvas')
|
||||
let ctx = canvas.getContext('2d')
|
||||
if (Math.max(imgWidth, imgHeight) > w) {
|
||||
if (imgWidth > imgHeight) {
|
||||
canvas.width = w
|
||||
canvas.height = w * (imgHeight / imgWidth)
|
||||
} else {
|
||||
canvas.height = w
|
||||
canvas.width = w * (imgWidth / imgHeight)
|
||||
}
|
||||
} else {
|
||||
canvas.width = imgWidth
|
||||
canvas.height = imgHeight
|
||||
quality = 0.6
|
||||
}
|
||||
ctx.clearRect(0, 0, canvas.width, canvas.height)
|
||||
ctx.drawImage(this, 0, 0, canvas.width, canvas.height) // // 这里面的 this 指向 newImage
|
||||
let smallBase64 = canvas.toDataURL('image/jpeg', quality) // 压缩语句
|
||||
let fileData = dataURLtoFile(smallBase64);
|
||||
let fileOfBlob = new File([fileData], new Date() + ".jpg"); // 命名图片名
|
||||
// console.log(smallBase64);
|
||||
// resolve(base64ToFile(fileOfBlob))
|
||||
resolve(fileOfBlob)
|
||||
}
|
||||
return new Promise(resolve =>{
|
||||
setTimeout(() => {
|
||||
html2canvas(dom,{useCORS: true,}).then(canvas =>{
|
||||
let base64 = canvas.toDataURL('image/jpeg',.9);
|
||||
// let quality = 0.9 // 压缩系数0-1之间
|
||||
let newImage = new Image()
|
||||
newImage.src = base64
|
||||
newImage.setAttribute('crossOrigin', 'Anonymous') // url为外域时需要
|
||||
// let imgWidth,
|
||||
// imgHeight
|
||||
// let w = undefined
|
||||
newImage.onload = function () {
|
||||
// w = this.width * 1
|
||||
// imgWidth = this.width
|
||||
// imgHeight = this.height
|
||||
// let canvas = document.createElement('canvas')
|
||||
// let ctx = canvas.getContext('2d')
|
||||
// if (Math.max(imgWidth, imgHeight) > w) {
|
||||
// if (imgWidth > imgHeight) {
|
||||
// canvas.width = w
|
||||
// canvas.height = w * (imgHeight / imgWidth)
|
||||
// } else {
|
||||
// canvas.height = w
|
||||
// canvas.width = w * (imgWidth / imgHeight)
|
||||
// }
|
||||
// } else {
|
||||
// canvas.width = imgWidth
|
||||
// canvas.height = imgHeight
|
||||
// quality = 0.6
|
||||
// }
|
||||
// ctx.clearRect(0, 0, canvas.width, canvas.height)
|
||||
// ctx.drawImage(this, 0, 0, canvas.width, canvas.height) // // 这里面的 this 指向 newImage
|
||||
// let smallBase64 = canvas.toDataURL('image/jpeg', quality) // 压缩语句
|
||||
let fileData = dataURLtoFile(base64);
|
||||
let fileOfBlob = new File([fileData], new Date() + ".jpg"); // 命名图片名
|
||||
// console.log(smallBase64);
|
||||
// resolve(base64ToFile(fileOfBlob))
|
||||
resolve(fileOfBlob)
|
||||
}
|
||||
})
|
||||
}, 100);
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
//base64转成blob
|
||||
function dataURLtoFile(dataURI, type) {
|
||||
|
||||
@@ -149,7 +149,7 @@ const formatTime = (timestamp, fmt) => {//吧时间戳转为YYYY-MM-DD hh:mm:ss
|
||||
const isMoible = () => {//判断是否是移动端
|
||||
let is_mobile = navigator.userAgent.toLowerCase().match(/(ipad|ipod|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null;
|
||||
// alert(navigator.userAgent.toLowerCase())
|
||||
var isiPad = (navigator.maxTouchPoints && navigator.maxTouchPoints > 0);
|
||||
var isiPad = (navigator.maxTouchPoints && navigator.maxTouchPoints > 1);
|
||||
// if (is_mobile) {
|
||||
// return true//判断是否在正则内
|
||||
// } else if(window.matchMedia("(pointer:fine)").matches){
|
||||
@@ -160,7 +160,7 @@ const isMoible = () => {//判断是否是移动端
|
||||
if (is_mobile) {
|
||||
return true//判断是否在正则内
|
||||
} else{
|
||||
isiPad//判断触摸点
|
||||
return isiPad//判断触摸点
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user