Цитата:
$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, время: 20:22. |