Вот URL-адрес изображения Foursquare, которым я делюсь: -
https://igx.4sqi.net/img/general/width960/59805036_Qt3WZYJ5z3_LPh8tpG4wtqJSrVokkKioxYebWogfOjo.jpg
Показывает исходное изображение. Теперь, если я воспользуюсь следующей ссылкой на изображение,
https://igx.4sqi.net/img/general/200x1600/59805036_Qt3WZYJ5z3_LPh8tpG4wtqJSrVokkKioxYebWogfOjo.jpg
Размер изображения автоматически изменяется в зависимости от размера 200x1600. Задайте любое измерение, и размер изображения изменится автоматически, что доказывает, что размер не задан заранее.
Когда указанная выше ссылка помещается в URL-адрес, размер изображения автоматически изменяется. Как этим можно управлять динамически при запуске с помощью Codeigniter или PHP?
Я понятия не имею об этом.
Вы не поняли моего вопроса?
ты хочешь заманить меня? Я думаю, я прекрасно понимаю, что вы имеете в виду ... есть предопределенные наборы, которые вы можете определить, и размер изображения изменяется на основе этой информации, например. igx.4sqi.net/img/general/height400/… отлично работает, с другой стороны, если вы используете что-то, что не определено как igx.4sqi.net/img/general/heig1ht400/…, вы ничего не получите - imho, это довольно простая задача, которую вы задаете здесь ...
Я хочу создать такую систему на Codeigniter или на собственном PHP. Мне было интересно, есть ли какие-нибудь учебники или библиотеки, которые это делают. Так как таких найти не удалось, то и спросил здесь. Я просто не хочу изменять размер изображения, изменяя размер в данной ссылке, я хочу построить такую систему. И да, дайте нестандартный размер, например, 353х417. Вы получите точный размер. Так что ничего предопределенного нет.
ofc его предопределено - не размер, а набор предопределен - вы можете использовать такие ключевые слова, как ширина, высота и тому подобное, и размеры являются динамическими ... и если вы используете библиотеку манипуляции с изображениями, вы должны легко получить то, что хотите, возьмите приглядитесь сюда ... (codeigniter.com/user_guide/libraries/…), исходное изображение должно соответствовать - вы не можете использовать изображение с размером 300x200 и ожидать, что значение высоты 2000 пикселей даст подходящий результат
С CI это довольно просто. прочтите документацию для класс обработки изображений.
вам нужно будет создать контроллер, чтобы справиться с этим:
<?php
class Image extends CI_Controller
{
public function resize($filename, $width, $height){
// path to image in your project
$image_path = 'uploads/img/'.$filename;
// if image doesn't exist show 404 error
if (!file_exists($image_path))
show_404();
// Load image library
$this->load->library('image_lib');
// configure image library
$config = array(
'image_library' => 'gd2',
'source_image' => $image_path,
'dynamic_output' => true,
'width' => $width,
'height' => $height,
);
// load configuration
$this->image_lib->initialize($config);
// resize
$this->image_lib->resize();
}
}
Теперь откройте свой браузер и попробуйте: localhost / project_folder / image / resize / example.jpg / 500/500
чтобы URL-адрес выглядел так, как в вопросе, вы можете добавить маршрут в файл конфигурации маршрутов.
если вы можете управлять этим статически - вы также можете сделать это динамически - просто используйте переданные аргументы (в вашем случае width960 и 200x1600)