需求
比如:
750 * 750
async checkResolutionIsMatch(file) {
if (!this.resolution) return Promise.resolve()
try {
const imgSize = await measureImgSize(file)
const resolution = this.resolution.split('/')
var resolutionWidth = Number(resolution[0]) // 推荐的尺寸
var resolutionHeight = Number(resolution[1])
var actualWidth = Number(imgSize.width)
var actualHeight = Number(imgSize.height)
var resolutionSdr = actualHeight / resolutionHeight
var actualSdr = actualWidth / resolutionWidth
console.log('实际尺寸比:', actualSdr)
console.log('推荐尺寸比:', resolutionSdr)
const isWidthMatch = imgSize.width === Number(resolution[0])
const isHeightMatch = imgSize.height === Number(resolution[1])
if ((isWidthMatch && isHeightMatch) || (resolutionSdr === actualSdr)) {
return Promise.resolve()
} else {
if (this.onResolutionFail) {
const result = await this.onResolutionFail(file, imgSize)
if (result === false) {
return Promise.reject()
}
}
}
} catch (e) {
return Promise.reject(e)
}
}