Цитата:
$url = "https://api.openweathermap.org/data/2.5/weather?id=501730&units=metric&appid=42633145136a94711f8d879deade6bf1&lang=ru"; $contents = file_get_contents($url); $weather=json_decode($contents); $show_weather = round($weather->main->temp) . '°C'; $icon=$weather->weather[0]->icon.".png"; $today = date("j.m.Y, H:i"); $cityname = $weather->name; $wind = round($weather->wind->speed) . 'м/с'; $humidity=$weather->main->humidity."%"; $url_icon = '<img src="http://openweathermap.org/img/wn/'.$icon.' "/>'; echo $url_icon $icon=$weather->weather[0]->icon.".png"; получает лишь код "icon":"03d" он рандомный и добавляется лишь расширение в $url_icon = взял путь до папки сайта с граф. файлами добавил переменную кода icon.".png" в итоге прямая ссылка и при: echo $url_icon на странице отображается изображение Выходит все загружается. Даже если я скачаю все png изображения на сервер мне все равно нужно получить нужный файл по коду с переменной $icon и это возвращение к началу, изменится лишь путь к файлам. Если изображение видно значит оно же загружается, не понятно |
Откуда взято это?
$bg->compositeImage($url_icon, Imagick::COMPOSITE_DEFAULT, $weather_icon_pixel_x, $weather_icon_pixel_y); Что здесь $bg и чем должно быть $url_icon? Вы понимаете, что '<img src="http://openweathermap.org/img/wn/'.$icon.' "/>', это html код, который будет выполнятся только в браузере, а для ImageMagick, это пустой звук и породит ошибку? Если свой код/примеры вы выдираете из какого-то класса, то изучайте методы этого класса, тут я вам ничем помочь не могу. Если это из руководства РНР, то к этой же функции (compositeImage) на странице ее описания даны и примеры, более чем полные, изучайте. Но не пытайтесь подсовывать ImageMagick фикцию вместо объекта и даже корректный URL, ImageMagick работает только с локальными файлами. То есть, например, получили (загрузили на сервер) картинку: $img = file_get_contents('http://openweathermap.org/img/wn/' . $icon); //далее создаем Imagick объект, как там у вас разбирайтесь с этим, пусть для примера его имя $img2 //получаем ресурс загруженного изображения $img2->readImageBlob($img); //вот теперь на ранее открытый ресурс, например, $img1, можно накладывать загруженное $img1->compositeImage($img2, ..... |
не пинайте вы так уж сильно:( делаю не для себя, для группы чтоб не было так серо все. Нуб в этом деле, что ж поделать. На пенсии не все же время в танки играть) Кучу вариантов с этого примера пробывал, подставлял, менял, блин не в какую, не там запятая и ....
|
Я не пинаю, но вы оперируете с одной стороны кодом нешуточным, с другой стороны пытаетесь воткнуть в него непотребное.
Исследуйте ошибки, исправляйте их, что я еще могу сказать. Ну я же не стану вдаваться во все, что тут написано, так как непосредственно к проблеме оно отношения не имеет. Если $bg и $last_subscriber_photo_1, это объекты Imagick, координаты наложения в пределах изображения приемника, то проблем наложения быть не должно. PS. Или все "складывается как надо", а результат не виден в браузере? |
Цитата:
$img = file_get_contents('http://openweathermap.org/img/wn/' . $icon); $img2->readImageBlob($img); далее if($img){ $bg->compositeImage($img2, Imagick::COMPOSITE_DEFAULT, $weather_icon_pixel_x, $weather_icon_pixel_x); } Fatal error: Uncaught Error: Call to a member function readImageBlob() on null in смотря на весь код не вижу использования readImageBlob, а ведь то же используется получение изображения и "склеивание" |
Сначала
$img2 = new Imagick(); и только затем $img2->readImageBlob($img); |
Цитата:
Вот такой вопрос: mb_strtoupper выводит все в верхний регистр почитал про текст в PHP и ничего не нашел для обычного вывода как использовать rtrim (Удаляет пробелы (или другие символы) из конца строки), для того чтоб текст оставался без изменений. |
Не понял, в чем проблема?
|
Цитата:
$bg->annotateImage($draw, $clock_text_pixel_x, $clock_text_pixel_y, 0, mb_strtoupper(date('H:i'), 'UTF-8')); текст выводит в ВЕРХНИЙ регистр |
И что?
|
Часовой пояс GMT +3, время: 23:06. |