Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #81 (permalink)  
Старый 22.12.2020, 14:37
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

Сообщение от laimas Посмотреть сообщение
И в чем проблема заменить вывод на присвоение его переменной?

$fp = $fp ? 'On' : 'Off';
в отсутствии знаний в этой области, смотрел по вашей поставленной задаче примеры всевозможные, но подходящего не нашел как применить
Ответить с цитированием
  #82 (permalink)  
Старый 22.12.2020, 14:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от ALFRED450
в отсутствии знаний в этой области
Ну так где их почерпнуть как не из руководства? Ведь странно, найти и использовать fsockopen, получать из json и присваивать $show_weather = $weather->main->temp;, писать другие присваивания переменным $today = date("j.m.Y, H:i");, и при этом не заменить echo на присваивание. Ну это же элементарно, если читать и изучать.

Что тут может быть нового, так это тернарный оператор:

$fp = $fp ? 'On' : 'Off';
а можно и так
$fp = fsockopen(...) ? 'On' : 'Off';

вместо if ..., что более лаконично. Но о нем также подробно написано в руководстве.
Ответить с цитированием
  #83 (permalink)  
Старый 22.12.2020, 16:38
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

Сообщение от laimas Посмотреть сообщение
Ну так где их почерпнуть как не из руководства? Ведь странно, найти и использовать fsockopen, получать из json и присваивать $show_weather = $weather->main->temp;, писать другие присваивания переменным $today = date("j.m.Y, H:i");, и при этом не заменить echo на присваивание. Ну это же элементарно, если читать и изучать.

Что тут может быть нового, так это тернарный оператор:

$fp = $fp ? 'On' : 'Off';
а можно и так
$fp = fsockopen(...) ? 'On' : 'Off';

вместо if ..., что более лаконично. Но о нем также подробно написано в руководстве.
$fp = fsockopen("127.0.0.1", 1234) ? 'On=else [color=red] Онлайн[/color] ' : 'Off=if (!$fp) [color=red] Оффлайн[/color]';

Естественно он выдал как текст, убрав одинарные кавычки вылился в ошибку. Понимаю что бред состряпал.
Ответить с цитированием
  #84 (permalink)  
Старый 28.12.2020, 20:13
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

Подскажите пожалуйста, в коде есть получение изображения и установка размеров в зависимости от настроек
if(file_exists($file_name_1) && $view_last_subscriber) {
        $last_subscriber_photo_1 = new Imagick($file_name_1);
        if($roundingOff==true) {
*!*
            RoundingOff($last_subscriber_photo_1, $last_subscriber_width,$last_subscriber_height);
*/!*
        }

        $draw->setFontSize($last_subscriber_font_size);
        $draw->setFillColor("rgb(".$last_subscriber_font_color.")");

        $bg->compositeImage($last_subscriber_photo_1, Imagick::COMPOSITE_DEFAULT, $last_subscriber_photo_1_x, $last_subscriber_photo_1_y);
        $bg->annotateImage($draw, $last_subscriber_1_text_x, $last_subscriber_1_text_y, 0, mb_strtoupper($last_subscriber_firstname_1));
    }

настройки такие:
// Ширина аватарки
$last_subscriber_width = 150;
// Высота аватарки
$last_subscriber_height = 150;
// Аватарки [true - круглые false - квадратные]
$roundingOff = true;

я получаю изображение так:
$copy_icon = file_get_contents('http://openweathermap.org/img/wn/' . $icon);
$show_icon = new Imagick();
$show_icon->readImageBlob($copy_icon);

roundingOff я так понимаю не совсем подходит, чтоб просто изменить размеры, так как цель не закруглять углы. Подскажите пожалуйста какую функцию применить, для изменения размеров полученного изображения $show_icon

Последний раз редактировалось ALFRED450, 28.12.2020 в 20:15.
Ответить с цитированием
  #85 (permalink)  
Старый 28.12.2020, 21:56
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

if($view_icon){
if($roundingOff==true)
RoundingOff($show_icon, $weather_icon_width ,$weather_icon_height);
}
$bg->compositeImage($show_icon, Imagick::COMPOSITE_DEFAULT, $weather_icon_pixel_x, $weather_icon_pixel_y);

размер меняет, ошибки не сыпятся , но мне кажется что на чушь похоже
Ответить с цитированием
  #86 (permalink)  
Старый 28.12.2020, 22:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от ALFRED450
roundingOff я так понимаю не совсем подходит, чтоб просто изменить размеры
Вы может что-то и понимаете, другим вряд ли будет понятно, что это за хрень и причем тут размеры. Не задавайте вопросов, на которые нельзя ответить.
Ответить с цитированием
  #87 (permalink)  
Старый 28.12.2020, 23:26
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

Сообщение от laimas Посмотреть сообщение
Вы может что-то и понимаете, другим вряд ли будет понятно, что это за хрень и причем тут размеры. Не задавайте вопросов, на которые нельзя ответить.
как изменить размеры полученного изображения, какой функцией
изображение получено

$copy_icon = file_get_contents('http://openweathermap.org/img/wn/' . $icon);
$show_icon = new Imagick();
$show_icon->readImageBlob($copy_icon);
Ответить с цитированием
  #88 (permalink)  
Старый 29.12.2020, 03:02
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

https://www.php.net/manual/ru/imagick.scaleimage.php

Давно пора скачать документацию и искать в ней, я что швейцаром должен быть? И вообще, для такого простого Imagick, у которого много функций недокументированных, да еще не понимания ничего, это круто. Есть GD, для таких плевых дел его будет более чем достаточно, и разобраться в нем намного проще чем в Imagick.
Ответить с цитированием
  #89 (permalink)  
Старый 05.01.2021, 20:59
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

Здравствуйте, снова вопрос про погоду
получаю направление ветра в градусах и пробую перевести в направление, подскажите пожалуйста, как правильно написать и где перемудрил
$url = "http://api.openweathermap.org/data/2.5/weather?id=".$cityId."&lang=".$lang."&units=".$units."&APPID=" . $apiKey;
// делаем запрос к апи
$contents = file_get_contents($url);
$weather=json_decode($contents);

$deg=$weather->wind->deg; //получаем направление ветра в градусах


function getCardinalDirection($deg) {
    const directions = ['↑ N', '↗ NE', '→ E', '↘ SE', '↓ S', '↙ SW', '← W', '↖ NW'];
    return directions[Math.round($deg / 45) % 8];
}


//направление ветра
if($view_deg){
    $draw->setFont(BASEPATH."/font/".$font_deg);
    $draw->setTextAlignment(Imagick::ALIGN_CENTER);
    $draw->setFontSize($deg_font_size);
    $draw->setFillColor("rgb(".$deg_font_color.")");
*!*
    $bg->annotateImage($draw, $deg_text_pixel_x, $deg_text_pixel_y, 0, $deg);
*/!*
}


получаю ошибку константы

Последний раз редактировалось ALFRED450, 05.01.2021 в 21:07.
Ответить с цитированием
  #90 (permalink)  
Старый 05.01.2021, 23:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Вы когда в конце концов начнете читать справочник языка? Разве сложно заглянуть сюда, чтобы понять где у вас ошибки или отсебятины?

Это как в этой теме, типов то много, а значит вполне можно и в одну строку:

list(...) = exp(...) ? array(...) : array(...);

А чтобы понимать это, нужно изучать язык. Но стоит повторить, что в данном случае так поступать, это просто расточительство.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Карта погоды Яндекс на сайт spinastr Общие вопросы Javascript 4 25.04.2018 20:05
Как вывести свои иконки погоды? spinastr Общие вопросы Javascript 18 01.03.2018 14:07
Bспользование стороннего API погоды ojv08612 Node.JS 0 28.02.2017 08:52
Разработка с помощью Jquery. Скрипт смены иконки погоды 2K2L Мобильный JavaScript 1 06.04.2015 18:02
Скрипт для погоды. Типа плеера. Ruskat Общие вопросы Javascript 1 28.07.2011 02:44