Изменение размера изображения на стороне клиента до миниатюр приводит к появлению неровных и некрасивых картинок - PullRequest
0 голосов
/ 06 сентября 2010

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

Теперь я пытаюсь сделать что-то подобное без PHP, и мне любопытно узнать об альтернативах. Иметь браузеры для рендеринга не очень хорошая идея. Я получаю хорошие результаты с Explorer, Safari и Chrome, в то время как Firefox и Opera производят большие пальцы. Я понял, что это связано с возможностью браузеров масштабировать с использованием бикубической интерполяции или нет.

Теперь мне интересно, есть ли способ, позволяющий Javascript сделать это, как это делал ранее PHP с бикубической интерполяцией, что приводит к лучшему виду больших пальцев или есть ли здесь решение проблем с браузером (я знаю о CSS свойство -ms-interpolation-mode)? В целом, каково мнение о клиентских пальцах? Может быть, лучше продолжать работать с PHP, если нет разумной альтернативы?

PS Имеет ли значение, если я масштабирую изображения, используя Javascript или CSS?

1 Ответ

0 голосов
/ 29 декабря 2010

Есть две разные причины, чтобы предпочесть генерацию миниатюр на стороне сервера.Первое, как вы обнаружили, - это несоответствие результатов от браузера к браузеру.Во-вторых, изменение размера на стороне клиента требует загрузки полного полноразмерного изображения на клиент - это приводит к значительному замедлению страницы.

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

...