Помощник
|
Правильное создание миниатюры, определенный размер |
kolesgan
|
Сообщение
#1
|
||
|
|
||
|
|||
matroskin8 |
30.5.2011, 12:25;
Ответить: matroskin8
Сообщение
#2
|
|
На указанном сайте миниатюры имеют размер 100*100. Эти размеры и указаны при выводе картинок:
<img src="" width="100" height="100" alt="" /> В принципе, это можно посмотреть в исходном коде и свойствах миниатюр. |
|
|
almatar |
30.5.2011, 13:37;
Ответить: almatar
Сообщение
#3
|
|
Я думаю здесь всё дело в прокладке.
|
|
|
kolesgan
|
Сообщение
#4
|
|
matroskin8, при установке размеров изображение подгоняется под эти размеры, растягивается или сжимается. а мне надо чтоб изображение осталось таким же просто лишние пикселы срезались, будь лишние в ширине или в высоте
|
|
|
Гость_0_* Гость_0_* |
30.5.2011, 16:19;
Ответить: Гость_0_*
Сообщение
#5
|
|
kolesgan, так это же очень легко делается на php, используя библиотеку GD. Я бы с радостью вам помог, но нет времени разбираться. покопайтесь сами в GD, там всё понятно. Если что, прочитайте главу "Работа с изображениями" (примерно так называется) в книге "PHP5 в подлиннике".
|
|
|
matroskin8 |
30.5.2011, 16:22;
Ответить: matroskin8
Сообщение
#6
|
|
kolesgan, Логично. Я просто сказал, что на указанном сайте ничего не подгоняется - там миниатюры имеют размер 100*100
|
|
|
ZiTosS |
30.5.2011, 20:13;
Ответить: ZiTosS
Сообщение
#7
|
|
kolesgan, чтобы сделать нормальную миниатюру, которая будет содержать информацию, а не огрызок, правильнее было бы формировать её самому. При загрузке картинки тебе дается возможность создать миниатюру, квадрат 100x100 минимум, его можно растягивать пропорционально и перемещать по картинке (реализуется на JS), далее при выборе куска картинки скрипт вырезает его и сжимает до 100x100, затем сохраняет на сервере.
А если считать, что важная информация находится в центре картинки, то можно сделать примерно так: 1) Определяем размер меньшей стороны, прикладываем к нему множитель 0.8, округляем получившееся число до целых пикселей. 2) Такой величины имеем квадрат, осталось его отцентрировать, то есть нужно будет определиться с размерами отступа для обрезки в GD. Нарисуйте себе на бумажке и все станет понятно, там задается обычно два отступа от верхнего левого угла и размеры копии (функция imagecopy). 3) Далее нужно получившуюся большую заготовку сжать до 100x100 пикселей функцией Для последнего случая примерно такой код получается, сразу скажу, что вариант рассчитан -> важная информация расположена крупным планом в центре изображения. Например, файл называется image.php: [php]<?php $sourceimg = "catalog/image.jpg"; // путь до картинки с её именем и расширением $size_mini = 200; // размер миниатюры (сторона квадрата) $factorcutoff = 1; // коэффициент среза от минимального размера (описан в алгоритме) list($width, $height) = getimagesize($sourceimg); $src = imagecreatefromjpeg($sourceimg); $dst = imagecreatetruecolor($size_mini, $size_mini); $size_square = ceil(($width > $height) ? $height * $factorcutoff : $width * $factorcutoff); $indentX = ceil(($width - $size_square) / 2); $indentY = ceil(($height - $size_square) / 2); imagecopyresized($dst, $src, 0, 0, $indentX, $indentY, $size_mini, $size_mini, $size_square, $size_square); imagejpeg($dst); imagedestroy($src); imagedestroy($dst); ?>[/php] !ВАЖНО: пример выше нормально работает только с jpg-изображениями. Выводим картинку, index.php: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <img src="image.php" /> </body> </html> |
|
|
kolesgan
|
Сообщение
#8
|
|
Спасибо! то что надо!!!
|
|
|
ZiTosS |
31.5.2011, 22:30;
Ответить: ZiTosS
Сообщение
#9
|
|
|
kolesgan, пожалуйста, всегда рад помочь. Старайтесь в голове прокручивать примерную реализацию, хорошо помогает. Затем пишем алгоритм словестный, затем можно набросать структуру и радуемся
Тема закрыта.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
как заслужить право на создание новой темы? | 7 | writer80 | 2208 | 12.3.2024, 22:54 автор: Lumex |
|
<Braga/> Создание Telegram-ботов, web-приложений, крипто-бирж, сайтов. | 2 | newbraga | 1778 | 10.3.2024, 22:04 автор: newbraga |
|
СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое | 5 | CULA | 3402 | 19.12.2023, 18:55 автор: CULA |
|
Создание и ведение аккаунтов в соцсетях ("В контакте"/Telegram) Услуги от профессионального журналиста и SMM-менеджера |
2 | AvtorXXX | 1708 | 13.11.2023, 23:47 автор: AvtorXXX |
|
Создание информационной площадки с доской объявлений | 1 | xweb | 2062 | 16.1.2023, 16:25 автор: xweb |
Текстовая версия | Сейчас: 20.4.2024, 9:32 |