Linkoln

[Решено] Качество изображений при resize

Рекомендуемые сообщения

Linkoln    1

Есть div, в котором при смене категории должен меняться фон. В принципе что-то вроде изображения категории, но гораздо больше (thaiboxer.com.ua) и вот здесь проблема. Пробовал вывести img из описания категории, но качество изображения получается ноль, я так понял картинки при заливе через админ панель сжимаются. И вот собственно не знаю, как лучше поступить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nikifalex    349

картинки сжимаются при выводе и сжимаются потому что у вас такую код вывода. т.е. вы неправильно выводите img из описания категории

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

А как тогда правильно выводить? Я пробовал даже выводить в атрибут background блока, но тогда вообще ничего не выходило

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nikifalex    349

а как вы сейчас выводите? код где?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

Я в файле catalog/viev/theme/default/template/product/category.tpl внутри нужного блока назовем его "#image_div" вывел <img id = 'image777' src ="<?php echo $thumb; ?>" class= img-thumbnail" />

в Css я прописал

#image777{

Width:100%;

Height: 250 px;

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nikifalex    349

проблема в $thumb и непонимании основ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

В php я действительно не разбираюсь, делал почти интуитивно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
shalan    39

в файле контролера $thub создается так

$this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));

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

создайте свою переменную для картинки и задавайте для нее нужные вам размеры

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

Спасибо, вроде начинаю понимать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

А не подскажите, где почитать можно о переменных opencart?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    402

А не подскажите, где почитать можно о переменных opencart?

В самом коде опенкарт ) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

Мне просто не понятно что за переменная $thumb

Как я понял, я могу создать this->data['my_var'] = this-> model-tool-image-> resize.... И потом в блоке выводить уже $my_var?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

И еще не понятно какие аргументы принимает resize(какой тип данных, чсло/строка) если я допустим захочу вручную их задать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

))) уже и с resize разобрался, правду говорят, что правильно заданный вопрос-80% ответа

Но выводится каак-то искаженно я задал размер для примера 600x400 я почему-то думал, что речь о пикселах, но вывело ее совсем не так. Вобщем если у кого-то есть минута времеи, гляньте thaiboxer.com.ua категория "перчатки" и подскажите "душе заблудшей" как из данного положения выбраться

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    402

если опенкарт 1,5

 

Вывод переменной с контролере в вид происходить добавлением в массив data нового значения 

$this->data['my'] = 'Значение переменой'

 

Во вюхе выводить уже как <?= $my; ?>

 

Ресайз, сама тулза \catalog\model\tool\image.php

 

public function resize($filename, $width, $height)

 

принимает значения 

 

$filename - имя файла с папки DIR_IMAGE которые заданы в конфиге, может быть   DIR_IMAGE /директория..../изображение  

$width - ширина изображения 

$height - высота изображения 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

Ресайз я разобрался, что принимает, но мне нужно что бы картинка растягивалась и уменьшалась вместе с внешним div' ом а получается ерунда какая-то. У меня картинка 1500x250 px я в ресайзе этот же размер задаю и ее выдает совсем искаженную

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    402

размер картинки должен быть такой же как ресайз, тобиш 1500x250

 

для уменьшения картинки при сжатие блока добавьте к изображению класс .img-resize 

 

а сам класс пропишите в css

.img-resize  {

  display: block;
  max-width: 100%;

 

  height: auto;

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

Так размер и есть 1500x250 но у меня получается что img выводится в родительском блоке. Для img я прописал height, width по 100%, а родительскому width:100%, height:auto;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Linkoln    1

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу