Изменение размера не работает при повороте изображения PNG в NodeJS с использованием библиотеки Sharp - PullRequest
0 голосов
/ 24 сентября 2019

Итак, я пытаюсь изменить размер маленького изображения, чтобы наложить на него большее изображение, но также я поворачиваю маленькое изображение, но при вращении размер маленького изображения становится больше после изменения размера по мере увеличения.Например, если я поверну изображение на 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 градусов:

150x150 90 degree

212x212 45 градусов:

212x212 45 degree



Ожидаемый результат: оба изображения должны иметь одинаковый размер.

Я устанавливаю одинаковый размер для всех изображений, но процесс вращения игнорирует этоустановка.У меня вопрос, как я могу сделать их одинакового размера?

...