file_get_contents для изображения и изменения качества - PullRequest
2 голосов
/ 21 марта 2010

У меня есть код, который загружает изображение с удаленного сервера

$data = file_get_contents("$rURL");

Затем я хочу изменить качество этого изображения, но не хочу сначала сохранить его в файл, как мне преобразовать $ data в изображение, которое затем можно использовать в imagecopyresampled?

Спасибо

1 Ответ

5 голосов
/ 21 марта 2010

Попробуйте

imagecreatefromstring - Создать новое изображение из потока изображений в строке

Пример из руководства по PHP:

$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);
$im = imagecreatefromstring($data);

В качестве альтернативы можно использовать любую из функций imagecreatefrom*, если вы заранее знаете формат изображения, чтобы напрямую загрузить URL, например,

imagecreatefrompng('http://example.com/image.png')
...