[Помощь] Как сделать изображения товаров одного размера

Glaras

Постоялец
Регистрация
28 Сен 2013
Сообщения
129
Реакции
7
Есть сайт Joomla 2.5 + Virtuemart на котором изображения товаров имеют разные размеры из за чего в каталоге товары отображаются не симметрично. Подскажите, как сделать так чтобы изображения выравнивались по размеру (без обрезки).
Screenshot_1.jpg
 
Если без обрезки, то можно прописать в css размеры
Код:
img  .класс миниатюры{
    height: 100px;
    width: 100px;
или
   max-height: 100px;
    max-width: 100px;
}
 
лучше ровнять блоки, а не картинки.
еще проще подсмотреть как сделано на Для просмотра ссылки Войди или Зарегистрируйся.
 
Делай по высоте и позиционирование по центру.

html
Код:
<div class="vm-product-media-container-view">
                    <a title="Товар" href="#">
                        <img src="/images/stories/virtuemart/img.png" alt="images">                    </a>
            </div>
css
Код:
.vm-product-media-container-view {
    text-align: center;
    max-width: 100%;
    width: 100%;
    height: 150px;
}
img {
    width: auto;
    height: auto;
}
 
Кроме изображений там отличается длина названия товара. Если не установить минимум и максимум отображения символов, то кнопка Описание товара опять будет плясать.
 
Я эту кнопку просто убрал бы, а ссылку повесил на картинку и название. Но если вам так эта кнопка нужна, то сделайте ее снизу блока (bottom: 4px). Ну и совсем радикальное решение - это js, который посчитает высоту каждого блока и выставит в инлайн стилях для все остальных height, равный максимальному.
 
Я решал проблему следующим образом (много напарсенных товаров с разных сайтов в разном размере, форматах и соотношении:( был написан на python консольный скрипт, который гуляет по картинками товаров через БД, через графические бибилиотеки - удаляет белое вокруг картинки (обрезает сплошное белое с краев - чтобы далее картинка была в "полный" размер блока), "квадратит" изображения - делает квадрат по самой широкой стороне, размещает картинку в центр квадрата. Далее картинку масштабирует к единому на сайте размеру, наносит watermark, делает mid thumbnail (в virtuemart нет такого размера, но в дизайне есть) и thumbnail, сохраняя с переменным качеством jpg порядка 8x% для минимизации размера (thumbnail - хуже, большое - лучше). На php можно написать аналог, сам ранее делал упрощенный (без обрезки белого фона).

На выходе получил что все картинки квадратной геометии единого размера без белых зазоров в половину ширины картинки.

+ как бонус имена файлов картинок переименовываются в транслите по названию товара, т.к. при парсинге на источниках были DSC123111.jpg, 48.png и подобные - не красиво со всех сторон.

+ вносятся EXIF данные с GPS меткой, якобы фоткалось лично и это уникальный оригнал.

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

Исходник публиковать не буду не могу, т.к. часть внутренней системы парсинга/корректуры цен в обслуживаемых проектах, но алгоритм полагаю ясен, задача - реализуема в 4-8 дней работы уравновешенного программиста.
 
Последнее редактирование:
Вот это действительно радикальное решение простой прикладной задачки!o_O Только надо писать (или искать) полноценное расширение для Joomla, которое будет по расписанию обходить картинки и переписывать данные в БД, при этом оригиналы картинок лучше не изменять. При загрузке страницы такие вещи делать не стОит - у народа нет ни аппаратных ресурсов, ни терпения:) Ну а раз уж мы в эту сторону начали думать, то может проще сделать простенький макрос в ACDSee или в PS, который будет перед заливкой картинки изменять как вам надо?
 
Охренеть. Для просмотра ссылки Войди или Зарегистрируйся, а как бы таки заполучить подобное? Потрясающий скрипт. Блин, месяцы труда экономии (((
 
Вот это действительно радикальное решение простой прикладной задачки!o_O Только надо писать (или искать) полноценное расширение для Joomla, которое будет по расписанию обходить картинки и переписывать данные в БД, при этом оригиналы картинок лучше не изменять. При загрузке страницы такие вещи делать не стОит - у народа нет ни аппаратных ресурсов, ни терпения:) Ну а раз уж мы в эту сторону начали думать, то может проще сделать простенький макрос в ACDSee или в PS, который будет перед заливкой картинки изменять как вам надо?
Предлагаемый вами вариант приведения изображений к единому размеру, на мой взгляд, самый правильный.
Бесплатно это делает XnView и IrfanView.
 
Назад
Сверху