Итак, я пытаюсь изменить размер маленького изображения, чтобы наложить на него большее изображение, но также я поворачиваю маленькое изображение, но при вращении размер маленького изображения становится больше после изменения размера по мере увеличения.Например, если я поверну изображение на 45 градусов, размер не изменится, но если я поверну изображение на 50 градусов, размер будет 212x212, даже если я изменю размер изображения.
Я провел некоторые исследования, но не повезлои я видел этот пост , и я пытался, но не работал!
Вот мой пример кода:
const rotateKnobs = (degree, ampKnob) =>
sharp(ampKnob)
.rotate(degree.degree, { background: 'transparent' })
.resize({ width: 150, height: 150 })
.toBuffer()
const setKnobsModel = async (degree, ampKnob) => {
return {
input: await rotateKnobs(degree, ampKnob),
top: degree.x,
left: degree.y
}
}
const getKnobs = async (ampKnob, knobSettings) => await Promise.all(knobSettings.map(degree => setKnobsModel(degree, ampKnob)))
module.exports = {
createAmpImage: async function (ampImage, ampKnob, knobSettings) {
const knobs = await getKnobs(ampKnob, knobSettings)
console.log(knobs)
return sharp(ampImage)
.resize(1000)
.composite(knobs)
.toBuffer()
}
Текущий вывод:
150x150 90 градусов:
212x212 45 градусов:
Ожидаемый результат: оба изображения должны иметь одинаковый размер.
Я устанавливаю одинаковый размер для всех изображений, но процесс вращения игнорирует этоустановка.У меня вопрос, как я могу сделать их одинакового размера?