Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Картинка на всю ширину/высоту


Recommended Posts

Подскажите пожалуйста , какой вставить код что бы картинка занимала весь блок, не подгоняя её по размеру. Это галлерея. Пробовал with/hight -100% не помогло 

Сайт http://plomeria-shop.ru/obzor-1

Снимок.PNG

Надіслати
Поділитися на інших сайтах


4 часа назад, aka75 сказал:

Подскажите пожалуйста , какой вставить код что бы картинка занимала весь блок, не подгоняя её по размеру. Это галлерея. Пробовал with/hight -100% не помогло 

Сайт http://plomeria-shop.ru/obzor-1

Снимок.PNG

Можно подогнать картинку в фотошопе по размеру блока. Ну и картинка обрежется.

 

Надіслати
Поділитися на інших сайтах


25 минут назад, SoundMonster сказал:

Можно подогнать картинку в фотошопе по размеру блока. Ну и картинка обрежется.

 

Мама с детсва учила, что от работы кони дохнут))))

Надіслати
Поділитися на інших сайтах


4 часа назад, aka75 сказал:

Мама с детсва учила, что от работы кони дохнут))))

Ну картинки однозначно у тебя обрежутся, если подгонять,сразу говорю, ибо подгон, это увеличение картинки ну и следственно обрез!

Надіслати
Поділитися на інших сайтах


2 минуты назад, SoundMonster сказал:

Ну картинки однозначно у тебя обрежутся, если подгонять,сразу говорю, ибо подгон, это увеличение картинки ну и следственно обрез!

Потом результат скину, если будет интересно глянешь

Надіслати
Поділитися на інших сайтах


4 часа назад, aka75 сказал:

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

никакой

Это у вас уже обрезанные картинки.

То есть у вас в настройках магазина указан размер картинок квадратный( как у всех)

Система обрезает картинки по бОльшей стороне.

По меньшей стороне остаются белые поля.

Самое простое решение- готовьте квадратные картинки для сайта.

Есть еще вариант с обрезкой по короткой стороне.

И вариант без обрезки вообще.

Но он вам не подойдет, для всплывающих картинок да, а вот для миниатюр... нет. .

P.S> В поиске ключевое сочетание: image resize, ресайз картинок

 

Можно рамку убрать, тогда сольется с фоном..

.wpgallery a, .wpgallery img {

border: none;

}

Змінено користувачем jaffagold
Надіслати
Поділитися на інших сайтах


30 минут назад, jaffagold сказал:

никакой

Это у вас уже обрезанные картинки.

То есть у вас в настройках магазина указан размер картинок квадратный( как у всех)

Система обрезает картинки по бОльшей стороне.

По меньшей стороне остаются белые поля.

Самое простое решение- готовьте квадратные картинки для сайта.

Есть еще вариант с обрезкой по короткой стороне.

И вариант без обрезки вообще.

Но он вам не подойдет, для всплывающих картинок да, а вот для миниатюр... нет. .

P.S> В поиске ключевое сочетание: image resize, ресайз картинок

 

Можно рамку убрать, тогда сольется с фоном..

.wpgallery a, .wpgallery img {

border: none;

}

Спасибо за совет. У меня была аналогичная ситуация на остор 15512 , вот только как это обычно бывает не могу вспомнить что я там делал

Надіслати
Поділитися на інших сайтах


А неужто никто не хотел функцию image.resize через ocmod доработать чтобы белые поля не вставляла?
Вроде мелочь, но такое поведение как на низкосортной деревянной cms точно не современно.

Надіслати
Поділитися на інших сайтах


4 часа назад, qub сказал:

 

А неужто никто не хотел функцию image.resize через ocmod доработать чтобы белые поля не вставляла?

 

А какие поля вставлять при обрезке неквадратных изображений? Зеленые?

Вообще, раньше как-то все справлялись: готовили в фотошопе оптимизированные картинки для сайта в одном размере и миниатюры тоже.

 

Змінено користувачем jaffagold
Надіслати
Поділитися на інших сайтах


А какие поля вставлять при обрезке неквадратных изображений? Зеленые?
Вообще, раньше как-то все справлялись: готовили в фотошопе оптимизированные картинки для сайта в одном размере и миниатюры тоже.
 

Да лучше уж чёрные! Кстати, а ведь это не очень сложно, да?
на 2.1.0.2 версии?
Где-то во фреймворке...
Надіслати
Поділитися на інших сайтах


BLOG/dushevay-kabina-Frank%20F656/dushevay-kabina-Frank%20F656.jpg
/BLOG/dushevay-kabina-Frank%20F656/dushevay-kabina-Frank%20F656.jpg

.......

Судя по наличию пробелов в названиях картинок и папок,Штирлиц никогда не был так близок к провалу.....

  • +1 1
Надіслати
Поділитися на інших сайтах

В 20.05.2017 в 18:46, SoundMonster сказал:

Ну картинки однозначно у тебя обрежутся, если подгонять,сразу говорю, ибо подгон, это увеличение картинки ну и следственно обрез!

Вот что получилось http://plomeria-shop.ru/obzor-1

Отдельное спасибо разработчику модуля WP Gallery for OpenCart 2.1. gello93. 

Скину часть беседы  может кому-нибудь будет полезно. 

 

 

 


 

 gello93  2
2. Поля появляются из за стандартной обрезки фото. Эта обрезка добавляет белые поля. Вот функция для нормальной обрезки.
 

public function cropsize($filename, $width, $height) {
  if (!is_file(DIR_IMAGE . $filename)) {
    if (is_file(DIR_IMAGE . 'no_image.jpg')) {
      $filename = 'no_image.jpg';
    } elseif (is_file(DIR_IMAGE . 'no_image.png')) {
      $filename = 'no_image.png';
    } else {
      return;
    }
  }

  $extension = pathinfo($filename, PATHINFO_EXTENSION);

  $old_image = $filename;
  $new_image = 'cache/' . utf8_substr($filename, 0, utf8_strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension;

  if (!is_file(DIR_IMAGE . $new_image) || (filectime(DIR_IMAGE . $old_image) > filectime(DIR_IMAGE . $new_image))) {
    $path = '';

    $directories = explode('/', dirname(str_replace('../', '', $new_image)));

    foreach ($directories as $directory) {
      $path = $path . '/' . $directory;

      if (!is_dir(DIR_IMAGE . $path)) {
        @mkdir(DIR_IMAGE . $path, 0777);
      }
    }

    list($width_orig, $height_orig) = getimagesize(DIR_IMAGE . $old_image);

    if ($width_orig != $width || $height_orig != $height) {
      $image = new Image(DIR_IMAGE . $old_image);
      if ($width/$height > $width_orig/$height_orig) {
          $image->resize($width, $height, 'w');
      } elseif ($width/$height < $width_orig/$height_orig) {
          $image->resize($width, $height, 'h');
      }
      $image->resize($width, $height);
      $image->save(DIR_IMAGE . $new_image);
    } else {
      copy(DIR_IMAGE . $old_image, DIR_IMAGE . $new_image);
    }
  }

  $imagepath_parts = explode('/', $new_image);
  $new_image = implode('/', array_map('rawurlencode', $imagepath_parts));
  
  if ($this->request->server['HTTPS']) {
    return $this->config->get('config_ssl') . 'image/' . $new_image;
  } else {
    return $this->config->get('config_url') . 'image/' . $new_image;
  }
}

Добавьте ее в файл /catalog/model/tool/image.php после  

class ModelToolImage extends Model {

И в модификаторе галереи system/wp_gallery.ocmod.xml замените:

$this->model_tool_image->resize($result['image'], $img_width, $img_height)

на

$this->model_tool_image->cropsize($result['image'], $img_width, $img_height)

После этого нужно почистить кеш изображений.

Надіслати
Поділитися на інших сайтах


Так это обычный кроп.Пообрубало картинки и всё.

Вариант 2:

system/library/image.php

 

после 

$ypos = (int)(($height - $new_height) / 2);

добавить

				$new_width = (int)($this->width * $scale);
				$new_height = (int)($this->height * $scale);
				
				$original_aspect = $this->width / $this->height;
				$thumb_aspect = $width / $height;
				
				if ( $original_aspect >= $thumb_aspect ) {
				$new_height = $height;
				$new_width = $this->width / ($this->height / $height);
				} else {
				$new_width = $width;
				$new_height = $this->height / ($this->width / $width);
				}
				
				$xpos = (int)(0 - (($new_width - $width) / 2));
				$ypos = (int)(0 - (($new_height - $height) / 2));

 

Надіслати
Поділитися на інших сайтах

4 минуты назад, Tom сказал:

Так это обычный кроп.Пообрубало картинки и всё.

Вариант 2:

system/library/image.php

 

после 


$ypos = (int)(($height - $new_height) / 2);

добавить


				$new_width = (int)($this->width * $scale);
				$new_height = (int)($this->height * $scale);
				
				$original_aspect = $this->width / $this->height;
				$thumb_aspect = $width / $height;
				
				if ( $original_aspect >= $thumb_aspect ) {
				$new_height = $height;
				$new_width = $this->width / ($this->height / $height);
				} else {
				$new_width = $width;
				$new_height = $this->height / ($this->width / $width);
				}
				
				$xpos = (int)(0 - (($new_width - $width) / 2));
				$ypos = (int)(0 - (($new_height - $height) / 2));

 

Гланое ,что это всё работает. Красиво и ладно))))

Надіслати
Поділитися на інших сайтах


Здесь есть "нюансиг"  ....  теперь картинки по всему магазину будут обрубаться.А это как показывает практика не всегда есть хорошо.

Надіслати
Поділитися на інших сайтах

Странное конечно отношение.Это же по сути гланды,которые удалять идут к практологу.

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

 

Надіслати
Поділитися на інших сайтах

27 минут назад, Tom сказал:

Странное конечно отношение.Это же по сути гланды,которые удалять идут к практологу.

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

 

Я увы не могу с вами профессионально обсуждать эту тему, так как являюсь нубом в этой теме. Но имея на сайте 1000 товаров и около 3000 картинок при выборочном просмотре изображений я ничего критичного не заметил. Как то так:-)

Надіслати
Поділитися на інших сайтах


  • 4 weeks later...
В 23.05.2017 в 16:50, Pascha сказал:

я делал попроще (правки контроллера)... но то же вполне работоспособно... ну и "неувядаемый", мне очень нравящийся masonry, естественно имеет место быть)))

Добрый день. А есть ли способ сделать это в контроллере что бы в категории товара картинка ресайзилась по параметрам из полей карточки товара?

(Грубо говоря я добавляю два поля Ширина-картинки и высота-картинки основного изображения) и по этим полям ресайзились картинки? 

Надіслати
Поділитися на інших сайтах


Создём себе сложности и потом героически их преодолеваем)))) Стесняюсь спросить ,а что если картинкам товара и в категории в настройках установить один размер? Чем помогут в таком случае ваши правки?

Надіслати
Поділитися на інших сайтах

Может я не так выразился, но мне хотелось бы реализовать такой вывод товаров http://espanola.ru/mebel-po-fabrikam/fabrika-citay/carpenter/carpenter-216/gostinyye-stenki-komody-i-zerkala-carpenter-216/

Я подумал что задавая в карточке товара параметр размера главной картинки для ресайза как то решит мою проблему

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.