Auto-Photoshop-StableDiffus.../selection.js

43 lines
1.1 KiB
JavaScript

function finalWidthHeight(selectionWidth,selectionHeight,minWidth,minHeight){
// const minWidth = 512
// const minHeight = 512
// const selectionWidth = 256
// const selectionHeight = 1000
let finalWidth = 0
let finalHeight = 0
if(selectionWidth <= selectionHeight){
//do operation on the smaller dimension
const scaleRatio = selectionWidth / minWidth
finalWidth = minWidth
finalHeight = selectionHeight / scaleRatio
}else{
const scaleRatio = selectionHeight / minHeight
finalHeight = minHeight
finalWidth = selectionWidth / scaleRatio
}
return [finalWidth,finalHeight]
}
async function selectionToFinalWidthHeight(){
const {getSelectionInfoExe} = require('./psapi')
try{
const selectionInfo = await getSelectionInfoExe()
const [finalWidth,finalHeight] = finalWidthHeight(selectionInfo.width,selectionInfo.height,512,512)
return [parseInt(finalWidth),parseInt(finalHeight)]
}catch(e){
console.warn("you need a rectangular selection",e)
}
}
module.exports = {
finalWidthHeight,
selectionToFinalWidthHeight
}