Как я уже выше писал, меня заинтересовал этот набор иконок (айконок?) и их применение.
Только я, как один известный большевик, пошел другим путем.
На скорую руку сделал небольшую программку, которая, на основе описания иконки, позволяет для каждого элемента «path» указать нужный цвет. После чего раскрашенный рисунок предоставляет в виде xaml-разметки, которую уже можно скопипастить в ресурсы. Копипаста выглядит как-то так (на примере «record2.svg»):
Чуть позже я подумал, что т.к. эти иконки предназначены для использования, в основном, в кнопках, то было бы полезно добавить реакцию на изменение свойства «IsEnabled». Тогда я добавил возможность указывать для каждого элемента «path» два цвета: для доступного и недоступного состояния. Копипаста получилась такая:
А почему вы ограничились только двумя цветами, хотя часть иконок в этом наборе (более сотни) содержит больше двух частей (три и более элемента path)?
На всякий случай: я не докапываюсь, просто меня зантересовал сам набор иконок, который вы предложили и методика их использования для нужд народного хозяйства.
На момент написания статьи большинство (2070 из 2074) Bootstrap Icons используют для отрисовки исключительно элементы <path> (не задействуют <circle>, <rect>)
Если кому интересно, на сейчас из 2078 иконок, богопротивные элементы circle и rect есть в следующих файлах:
align-bottom align-top circle-fill dice-1
ПыСы Извините, немного вопрос не по окладу: а почему "айконка", а не "иконка"?
Что-то мне тоже захотелось написать подобную статью.
Что такое exe-файл, его структура и важность
Exe-файл – это центральный элемент каждого десктоп приложения в Windows. Давайте начнем с анализа его структуры. Вначале стоят символы «MZ», за которыми следует остальная последовательность байт. По мнению нашего учителя информатики, последовательность «MZ» является неотъемлемой частью exe-файла и очень важна для правильного выполнения программы.
Когда-то давно делал подобную задачу. Еще для Трубо-Паскаля.
И таки полностью с вами согласен, что парсинг должен быть отдельно от котлет. В первую очередь, конечно, как раз для массовых вычислений по одной формуле (см. построение графиков).
Но что еще интересно, то получив дерево разбора, можно потом с ним делать всякое (а не только банальное вычисление). Например, я тогда прикрутил в свою либу возможность получения производной функции.
Предлагаю творчески углубить эту замечательную идею.
Вместо объявления переменных как
int a1;
int a2;
int a3;
… и т.д.
использовать конструкции вида:
int[] a;
В этом случае, кроме повышения уровня абстракции (о чем так убедительно рассказано в статье), мы получаем дополнительные профиты:
1. Все переменные располагаются в памяти одним блоком, что повышает аккуратность использования памяти.
2. Легко запомнить, какой тип имеет переменная, исходя из имени массива.
3. При необходимости можно легко изменить тип всех используемых переменных (например, если вдруг выясниться, что размерности int не хватает, то можно быстро переправить на long).
4. Упрощается визуальный контроль за использованием в одном выражении только однотипных переменных, что сразу же позволит избавиться от труднообнаруживаемых ошибок неявного преобразования типов.
5. Появляется возможность легко создавать (и восстанавливать) дамп состояния программы (сохранить во внешний файл один массив проще и надежнее, чем писать кучу переменных и ничего при этом не забыть).
Более поздний вариант фотоаппарата на 72 кадра: Агат-18
Я правильно понял, что <Window.Style> - это что-то на авалонском и простой пролетарский WPF такое не понимает?
Как я уже выше писал, меня заинтересовал этот набор иконок (айконок?) и их применение.
Только я, как один известный большевик, пошел другим путем.
На скорую руку сделал небольшую программку, которая, на основе описания иконки, позволяет для каждого элемента «path» указать нужный цвет. После чего раскрашенный рисунок предоставляет в виде xaml-разметки, которую уже можно скопипастить в ресурсы. Копипаста выглядит как-то так (на примере «record2.svg»):
После чего можно уже использовать ресурс, например в кнопке:
Чуть позже я подумал, что т.к. эти иконки предназначены для использования, в основном, в кнопках, то было бы полезно добавить реакцию на изменение свойства «IsEnabled». Тогда я добавил возможность указывать для каждого элемента «path» два цвета: для доступного и недоступного состояния. Копипаста получилась такая:
Потом я подумал еще немного и упростил реакцию на допустимость элемента (убрал «недоступные» цвета, но добавил прозрачность):
Итоговый результат для всех трех вариантов отрисовки (и xaml-разметка кнопок) на рисунке ниже.
Итого. Хоть я и пошел другим путем, спасибо вам за интересую идею и полезный ресурс.
А почему вы ограничились только двумя цветами, хотя часть иконок в этом наборе (более сотни) содержит больше двух частей (три и более элемента path)?
На всякий случай: я не докапываюсь, просто меня зантересовал сам набор иконок, который вы предложили и методика их использования для нужд народного хозяйства.
Минутка занудства.
Насчет замены rect на path в align-top и align-bottom: у вас прямоугольник получается ширше (ширее?), чем в исходной картинке.
Если кому интересно, на сейчас из 2078 иконок, богопротивные элементы circle и rect есть в следующих файлах:
align-bottom
align-top
circle-fill
dice-1
ПыСы Извините, немного вопрос не по окладу: а почему "айконка", а не "иконка"?
Что-то мне тоже захотелось написать подобную статью.
Что такое exe-файл, его структура и важность
Exe-файл – это центральный элемент каждого десктоп приложения в Windows. Давайте начнем с анализа его структуры. Вначале стоят символы «MZ», за которыми следует остальная последовательность байт. По мнению нашего учителя информатики, последовательность «MZ» является неотъемлемой частью exe-файла и очень важна для правильного выполнения программы.
На этом доклад закончил.
Были сигналы: не чай он там пьет.
(с) Аpкадий и Боpис Стругацкие "Понедельник начинается в субботу"
Такое подойдет?
https://gitflic.ru/project/magnum/boolexp
А что имеется ввиду под "булевскими операциями"?
Простые, чисто булевские, выражения типа "x and y", или микс с математическими, типа "(x>0) and (sin(y)=1)"?
Хотите иметь классическую булеву логику (true/false) или тренарную (true/false/unknown)?
Просто интересно.
Когда-то давно делал подобную задачу. Еще для Трубо-Паскаля.
И таки полностью с вами согласен, что парсинг должен быть отдельно от котлет. В первую очередь, конечно, как раз для массовых вычислений по одной формуле (см. построение графиков).
Но что еще интересно, то получив дерево разбора, можно потом с ним делать всякое (а не только банальное вычисление). Например, я тогда прикрутил в свою либу возможность получения производной функции.
Линейка не растет, потому что у на нее есть ГОСТ, который жестко фиксирует ее параметры. А вот на вселенную ГОСТа нет, отсюда и все безобразия! ))
Сергей Лукьяненко
РАЗМЫШЛЕНИЯ ОБ ИСТИННОЙ СУЩНОСТИ ТАК НАЗЫВАЕМЫХ "ДЖЕДАЕВ"...
Читать по ссылке: http://www.rusf.ru/lukian/books/jedi.htm
Предлагаю творчески углубить эту замечательную идею.
Вместо объявления переменных как
int a1;
int a2;
int a3;
… и т.д.
использовать конструкции вида:
int[] a;
В этом случае, кроме повышения уровня абстракции (о чем так убедительно рассказано в статье), мы получаем дополнительные профиты:
1. Все переменные располагаются в памяти одним блоком, что повышает аккуратность использования памяти.
2. Легко запомнить, какой тип имеет переменная, исходя из имени массива.
3. При необходимости можно легко изменить тип всех используемых переменных (например, если вдруг выясниться, что размерности int не хватает, то можно быстро переправить на long).
4. Упрощается визуальный контроль за использованием в одном выражении только однотипных переменных, что сразу же позволит избавиться от труднообнаруживаемых ошибок неявного преобразования типов.
5. Появляется возможность легко создавать (и восстанавливать) дамп состояния программы (сохранить во внешний файл один массив проще и надежнее, чем писать кучу переменных и ничего при этом не забыть).