как использовать изображения продуктов retina?


Как вы реализуете изображения продуктов Retina в Magento? Я видел несколько коммерческих тем в Интернете, которые делают это, но я не уверен, как.

Использование чего-то вроде Retina.js не сработало ни для изображений продуктов, ни для изображений статических блоков.

Author: Rafael Corrêa Gomes, 2013-06-21

5 answers

Разве изображения сетчатки не являются просто изображениями с более высокой плотностью пикселей? Вы можете обнаружить и переключить его, определив эту плотность

var retina = window.devicePixelRatio > 1;
if (retina) {
 // the user has a retina display 
} 
else {
 // the user has a non-retina display 
}

Чтобы сделать его чистым, вы могли бы создать обычное изображение имени и сетчатку изображения, например, вы могли бы получить src изображения, добавить сетчатку и вернуть src обратно.

Опубликовал это в качестве ответа, как предложил Тим.

 2
Author: Toon Van Dooren, 2013-06-23 20:29:59

Вы можете сделать это, используя следующие JS;

Https://github.com/leonsmith/retina-replace-js

Всякий раз, когда какой-либо файл шаблона содержит встроенное изображение, вы добавляете атрибут данных data-retina="true" в разметку, т.Е.;

    <h1 class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img data-retina="true" src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>

Для фоновых изображений CSS вы создаете две версии одного и того же файла, одна в два раза больше в обоих измерениях, и используете соглашение об именовании _2x, сохраняя их в одном каталоге, т.е.

myimage.png
myimage_2x.png

Скорее всего, вы столкнетесь с проблемами со встроенным изображения, если на вашей странице просмотра продукта также используется JS, например CloudZoom, - но этот метод будет обрабатывать изображения сетчатки для большинства изображений на сайте (чтобы узнать, как обрабатывать просмотр продукта, вы должны купить готовую тему retina и посмотреть, как они ее обработали).

 0
Author: McNab, 2013-06-23 13:04:04

Пожалуйста, взгляните на общую тему iphone Magento. Он уже готов к работе с сетчаткой.

 0
Author: user487772, 2013-06-23 14:53:24

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

Но я нашел это бесплатное расширение: http://www.magentocommerce.com/magento-connect/retina-product-images.html Он предоставляет изображения сетчатки только для устройств с высоким разрешением через php без замены.

 0
Author: Lorenz Haase, 2014-02-17 13:50:52

Вы можете использовать srcset в качестве запасного варианта.

<img src="normal-image.jpg" srcset="better-image.jpg 2x">

Смотрите документацию по этой ссылке:

Https://webkit.org/blog/2910/improved-support-for-high-resolution-displays-with-the-srcset-image-attribute/

Совместимость:

Http://caniuse.com/#feat=srcset

 0
Author: Rafael Corrêa Gomes, 2016-05-30 22:57:33