Имя: Пароль:
1C
1С v8
Генерация картинки с часами
0 From_RB
 
24.08.19
16:23
Возможно уже кто-то подобное реализовывал:

Фиксируем текущее время-  и генерируем картинку часов со стрелками с последующим выводом на печать с дополнительной текстовой информацией.

Предложите вариант реализации данной идеи.
1 Aleksey
 
24.08.19
16:39
Почему картинка, а не просто цифры? Почему нельзя вывести цифровые часы (10 картинок с цифрами + вывод 4-х картинок в нужном месте)?
Да и для аналоговых то всего 600 вариантов картинок
2 Кодер
 
24.08.19
19:00
Взять готовый сервис в инете, который отдаст картинку по 2-3 параметрам.
3 Консультант Баранов
 
24.08.19
19:07
sin cos
4 Кодер
 
24.08.19
19:09
(3) Картография внутриплатформенная тут никак не годится?
А диаграммы?
5 Консультант Баранов
 
24.08.19
19:18
(4) Вставить графическую схему. Вывести окружность

Рисуем круг

Радиус = 100;
Для н = 0 по 359 цикл

Угол = 6.28 * Н / 360

КоординатыХ = Радиус * cos(Угол );
КоординатыY = Радиус * sin(Угол );

///Вывести точку скоординатами Х и У

КонецЦикла

Рисуем отметки часов

Радиус = 100;
Для н = 0 по 12 цикл

Угол = 6.28 * Н / 360

КоординатыХ = Радиус *(0.99) *cos(Угол );
КоординатыY = Радиус *(0.99) * sin(Угол );

///Вывести точку скоординатами Х и У
КоординатыХ = Радиус *(0.98) *cos(Угол );
КоординатыY = Радиус *(0.98) * sin(Угол );

///Вывести точку скоординатами Х и У

КонецЦикла



//Рисуем минутную стрелку
Минут = 20;
Угол = 6.28 * (Минут - 45) / 60; // - 45 - сдвиг чтобы правильно стрелка рисовалась, но это не точно
Для н = 0 по Радиус * (0.80)  цикл



КоординатыХ = н *cos(Угол );
КоординатыY = н * sin(Угол );

///Вывести точку скоординатами Х и У


КонецЦикла

И т.д.
6 Консультант Баранов
 
24.08.19
19:19
(Минут - 45) наверно вот так (-Минут - 15)
7 Консультант Баранов
 
24.08.19
19:21
Или так (-Минут + 15) Короче попробовать надо.
8 NorthWind
 
24.08.19
22:13
я когда-то черт-те когда делал на бейсике стрелочные часы. 11 класс.
9 NorthWind
 
24.08.19
22:15
единственное что - если их рисовать не окружностями и линиями, а по-человечески, и стрелки типа металлические - то я не знаю как там все это под углом разворачивать чтобы красиво было, антиалиасинг и все такое. Скорее всего, нужны будут уже отрендеренные заранее стрелки и просто их бит-блиттить в нужное место.
10 Сияющий в темноте
 
24.08.19
22:28
html5 вроде умеет рисовать через canvas?
11 palsergeich
 
25.08.19
00:36
1C из коробки умеет SVG, а это простой банальный XML по сути.
Чуть чуть волшебства и картинку можно генерировать на лету, например так http://upbyte.net/news/svg_chasy_s_javascript_animaciej/2015-07-05-593
12 palsergeich
 
25.08.19
00:45
Банально рисуешь кружок с 2 стрелочками в онлайн эдиторе каком нибудь. http://vectorpaint.yaks.co.nz/ например
Потом сохраняешь его локально.
Просто банальнейшей модификацией XML файла, и при помощи функций sin и cos меняешь конечное положение стрелочек.
сохраняешь этот XML с расширением svg и картинка для вставки куда угодно готова.
Математика 10 класс, не более.
13 palsergeich
 
25.08.19
00:53
А если прям совсем заморочиться по сделать регистр сведений из 720, один раз сгенерировать все картинки, сохранить двоичку и потом пользоваться, если уменьшить до 5 минут интервал отображения, все равно меньше увидеть сложно, но 144 записи получится.