Crop / Stretch image, как html's & lt; img & gt; ширина и высота атрибута [duplicate]

Мой простой способ понять это ...

  • При вызове функции вы передаете содержимое (ссылку или значение) переменных аргумента, а не сами переменные.
    var var1 = 13;
    var var2 = { prop: 2 };
    
    //13 and var2's content (reference) are being passed here
    foo(var1, var2); 
    
  • Внутри функции переменные параметра inVar1 и inVar2 получают переданное содержимое.
    function foo(inVar1, inVar2){
        //changing contents of inVar1 and inVar2 won't affect variables outside
        inVar1 = 20;
        inVar2 = { prop: 7 };
    }
    
  • Поскольку inVar2 получил ссылку { prop: 2 }, вы можете изменить значение свойства объекта.
    function foo(inVar1, inVar2){
        inVar2.prop = 7; 
    }
    
6
задан Karem 1 September 2010 в 11:57
поделиться

4 ответа

попробуйте вместо imagecopyresampled .

5
ответ дан aularon 22 August 2018 в 11:42
поделиться

Для этого я использую timthumb . Просто давая еще один вариант;)

0
ответ дан Dan Hanly 22 August 2018 в 11:42
поделиться

Попробуйте вместо этого использовать imagecopyresampled . Это интерполяция, которая сделает вещи намного приятнее.

25
ответ дан Matt Gibson 22 August 2018 в 11:42
поделиться

Начиная с PHP 5.5 вы можете использовать функцию imageetinterpolation, чтобы определить способ интерполяции изображений во время преобразований (как правило, масштабирование и повторная выборка , но также вращения, и т. д.).

См. http://php.net/manual/en/function.imagesetinterpolation.php

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

Для повышения дискретизации, IMG_BICUBIC_FIXED, IMG_GENERALIZED_CUBIC и IMG_QUADRATIC могут дать лучшие результаты. В конечном итоге вам придется протестировать их: как можно скорее установите этот параметр на вновь созданные ресурсы изображения, объедините его с флагом высокого качества при сохранении jpegs, и вы должны быть свободны от артефактов при использовании GD.

8
ответ дан Mauro Colella 22 August 2018 в 11:42
поделиться