Путь разработчика    

Отображение перспективного изображения в C#

eda2480d

Некоторое время назад кто-то спросил меня, как он может отображать изображение в WPF с одной стороны, меньшей, чем другая, чтобы создать визуальный вид перспективы, как показано на рисунке справа. К сожалению, двухмерные преобразования WPF (и Windows Forms) не настроены для этого. Они могут переводить, поворачивать, масштабировать и искажать изображение, но они всегда преобразуют прямоугольную область в параллелограмму, поэтому они не будут оказывать такого эффекта.

Вы можете сделать это самостоятельно, напрямую манипулируя пикселями изображения, но это (A) относительно медленно, (B) сложный в Windows Forms и (C) ОЧЕНЬ сложный в WPF. (В соответствии с неофициальным лозунгом WPF «Дважды гибкие и только в пять раз тяжелее».)

Лучший способ создать такой вид перспективного изображения, чтобы он выглядел трехмерным, - это фактически отобразить его в трех измерениях. Код не очень длинный, хотя он запутан.

Пример программы использует следующий код XAML для отображения изображения с перспективой.

Python

В главном окне Grid главного окна программы определяется Viewport3D. Это в основном действует как окно в трехмерное пространство.

В окне просмотра отображается ModelVisual3D, который в основном является объектом, который может отображать что-то в трех измерениях.

В окне просмотра отображается ModelVisual3D, который в основном является объектом, который может отображать что-то в трех измерениях.

...

Если в сцене были поверхности с различными ориентациями, такими как стороны куба или грани, составляющие сферу, тогда направленное освещение придавало бы этим поверхностям несколько разные оттенки, чтобы они выглядели более трехмерными.

Однако этот пример отображает один плоский трехмерный объект, поэтому он будет иметь одинаковое освещение на своей поверхности независимо от того, сколько огней используется программой. Чтобы упростить задачу, в этом примере определяется только один белый окружающий свет. Окружающий свет применяется одинаково для каждой поверхности сцены независимо от того, как она ориентирована. Этот подход упрощает пример. (Добавление дополнительных источников света и использование направленного света также более сложны для программного обеспечения для рендеринга, поэтому использование одного окружающего света делает программу более эффективной. Хотя это такая простая эффективность сцены, на самом деле не проблема).

Далее код определяет GeometryModel3D, который представляет собой некоторые трехмерные объекты. Модель может быть преобразована как группа, поэтому в более сложных программах вы хотели бы использовать отдельную модель для каждого «физического» объекта в сцене. Например, если вы хотите нарисовать автомобиль, движущийся по какой-либо земле, вам нужно, чтобы автомобиль был одной моделью, а земля была другой моделью.

Свойство Геометрия модели определяет объекты модели в трехмерном пространстве. Это не включает материал модели, который определен в ближайшее время. Свойство Geometry содержит объект MeshGeometry3D, который определяет трехмерные треугольники.

Свойство Positions определяет вершины, составляющие твердые тела. В этом примере отображается прямоугольник, поэтому это свойство определяет четыре его угла.

Свойство TriangleIndices дает индексы Positions, которые составляют треугольники модели. Первые три значения TriangleIndices дают индексы для первого треугольника, а следующие три дают индексы для второго треугольника и т. д. Чтобы представить прямоугольник с треугольниками, вам нужны два треугольника, поэтому этот пример определяет два треугольника.

Свойство TextureCoordinates определяет координаты в материале (определенное коротко) для каждой из вершин. Координаты текстуры помещают (0, 0) в верхний левый угол материала, а X и Y увеличиваются вправо с (1, 1) в нижнем правом углу. Это та же ориентация, которую вы используете для адресации пикселей в растровом изображении, хотя координаты текстуры всегда варьируются от 0.0 до 1.0.

Обратите внимание, что вам не нужно назначать координаты текстуры, если материал имеет сплошной цвет. Вам нужно сделать это только в том случае, если материал раскрашивает треугольники с изображением.

Определив геометрию модели, код затем определяет ее материал. В этом примере используется DiffuseMaterial, который окрашивает поверхности в зависимости от их ориентации по отношению к направленным источникам освещения (которые этот пример не использует). Это тот материал, который используется большинством моделей.

В этом примере материал содержит кисть, содержащую изображение моей последней книги обложки алгоритмов. Текстура координирует точки карты в треугольниках модели с точками на кисти. Результат - изображение обложки книги.

Последняя часть определения модели - это преобразование, которое вращает ее вокруг оси Y, поэтому она немного повернута в сторону.

Пример заканчивается, определяя камеру просмотра. Как вы можете догадаться, это определяет позицию, из которой viewport просматривает сцену, определенную моделью. В этом примере камера расположена в положении (0, 0, 3,5) и направлена в направлении & lt; 0, 0, -1 & gt;.

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

Источник: http://csharphelper.com/blog/2016/02/display-a-perspective-image-in-c/



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Программирование на С++ глазами хакера, 2-е издание (Михаил Фленов)

Рассмотрены нестандартные приемы программирования, а также примеры использования недокументированных функций и возможностей языка C++ при разработке шуточн...

26 01 2021 5:51:44

Что на самом деле вызывает ошибку StackOverflow в Java?

StackOverflowError просто сигнализирует о том, что памяти больше нет. Он расширяет класс VirtualMachineError, что указывает на то, что JVM (виртуальная маш...

25 01 2021 14:15:11

Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14 (Скотт Мейерс)

В этой книге отражен бесценный опыт ее автора как программиста на C++. Новые возможности этого языка программирования, появившиеся в стандартах C++11 и C++...

24 01 2021 6:36:53

Сохранение изображений в базе данных Access в WPF и C#

Пример Отображение изображений в Доступ к базе данных в WPF и C# показывает, как вы можете отображать изображения, сохраненные в базе данных Access. Конечн...

23 01 2021 7:49:11

Зачем нужны общие типы в Java?

В Java 5 вводятся обобщения для включения типов (классов и интерфейсов) в качестве параметров при определении классов, интерфейсов и методов. Они реализова...

22 01 2021 11:49:22

Как использовать блокировки в Java

При написании такого многопоточного кода вы должны уделять особое внимание при одновременном доступе к совместно используемым изменяемым переменным из неск...

21 01 2021 15:20:54

Язык JavaScript (Илья Контор)

Эта часть позволит вам изучить Javascript с нуля или упорядочить и дополнить существующие знания. Мы будем использовать браузер в качестве окружения, но ос...

20 01 2021 0:22:57

Как быстро научиться программировать: 7 советов

Как быстро научиться программировать? Чтобы облегчить обучение программированию и хорошо усвоить основы, необходимо правильно выбрать темп работы и использовать некоторые способы....

19 01 2021 3:14:26

Создание и передвижение 2D персонажа в Unity по клику мыши

В этом уроке мы разобрали как создать 2D персонажа в Unity и реализовали плавное передвижение по клику мыши c возможностью отключения столкновений....

18 01 2021 20:19:40

4 способа сортировки массива в C#

В C# мы можем сортировать массив несколькими способами. 1. Использование Array.Sort (Array) 2. Использование интерфейса IComparable 3. Использование интерф...

17 01 2021 13:57:59

Язык программирования Python (Д.С.Откидач)

Python является простым и, в то же время, мощным интерпретируемым объектно-ориентированным языком программирования. Он предоставляет структуры данных высок...

16 01 2021 7:16:43

Выполнение бинарного усиления контраста на изображении в C#

В улучшении бинарного контраста вы меняете каждый пиксель изображения на черный или белый, в зависимости от того, светлее ли он, чем какое-либо значение от...

15 01 2021 1:33:27

Что такое NullPointerException в Java

NullPointerException - исключение RuntimeException. Исключения в Runtime являются критическими и не могут быть пойманы во время компиляции. Они приводят к...

14 01 2021 9:19:14

Разработка веб-приложений с помощью PHP и MySQL (Люк Веллинг, Лора Томсон)

Эта книга предназначена для тех, кто уже знаком, по крайней мере, с основами HTML и ранее разрабатывал программы на современных языках программирования, но...

13 01 2021 12:41:19

Рихтер Дж. CLR via C#: Программирование на платформе Microsoft .NET Framework 4.5 на языке C#

Эта книга, выходящая в четвертом издании и уже ставшая классическим учебником по программированию, подробно описывает внутреннее устройство и функционирова...

12 01 2021 1:33:49

Как распечатать ListView с большим содержимым в C#

Одна из трудностей при печати таких данных заключается в том, что на экране может храниться гораздо больше данных, чем на печатной странице, поэтому трудно...

11 01 2021 15:34:44

Как рандомизировать двумерные массивы в C#

В этом примере используется следующий метод расширения для рандомизации двумерных массивов. Чтобы рандомизировать двумерные массивы, код начинается с получ...

10 01 2021 9:33:29

Как перезагрузить страницу в JavaScript

Поскольку существует много способов сделать это, но следующий способ - перезагрузить один и тот же документ с помощью JavaScript. Свойство Window.location...

09 01 2021 0:23:54

Получите серийный номер тома диска в C#

В этом примере используется функция API GetVolumeInformation, поэтому получите серийный номер тома диска. Он начинается с , используя пространство имен Sys...

08 01 2021 18:56:24

Метод Replace() в Java

Метод Java String replace() заменяет все существующие вхождения символа в String другим символом. Синтаксис Замена последовательностей символов Метод Java...

07 01 2021 3:19:17

Получение писем с сервера POP3 в Python

Протокол почтового отделения версии 3 (POP3) - это стандартный почтовый протокол, используемый для приема электронной почты с удаленного сервера на локальн...

06 01 2021 21:38:54

Для чего используется Python?

Python - это язык общего назначения . Его можно использовать практически для чего угодно. Это один из самых универсальных языков в мире. Благодаря большому...

05 01 2021 9:25:29

Циклы while и do..while в Java

Мы используем многократные действия для решения проблем повседневной жизни. В программировании мы также используем многократные действия для решения пробле...

04 01 2021 2:29:41

C# Программирование на языке высокого уровня (Т.А. Павловская)

Книга "C# Программирование на языке высокого уровня" представляет собой учебный курс по программированию на языке C#. Автор рассказывает в своей книге об о...

03 01 2021 22:34:42

7 практических занятий по программированию в 1С 8.хх (Клюев В.В.)

7 практических занятий по программированию в 1 С 8.хх это пособие для освоения программирования и конфигурирования в системе 1 С: Предприятие 8.хх, на основе...

02 01 2021 1:45:38

HashMap в Java

В терминах компьютерного программирования карта представляет собой набор ассоциаций между парами объектов. Java HashMap - это базовая реализация интерфейса...

01 01 2021 11:10:59

Процедурные языки программирования

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

31 12 2020 11:40:49

Исключения в Java

Исключение - это событие, которое происходит во время выполнения программы, что нарушает нормальный поток инструкций программы. Он обеспечивает способ пере...

30 12 2020 0:46:29

Добавление вкладок в TabControl во время выполнения в C#

Сообщение Сделать улучшенный собственный вкладчик TabControl в В C# показано, как создать созданный владельцем TabControl, который позволяет пользователю у...

29 12 2020 18:22:24

Path (путь) в C#

В этой статье мы обсудим директиву Path и различные методы в Path в C#. Путь - это строка, которая предоставляет расположение файла или каталога.  Путь не о...

28 12 2020 0:56:12

TreeMap в Java

Класс TreeMap реализует интерфейс карты, аналогичный классу HashMap. Он сохраняет свои записи в порядке возрастания, отсортированные в соответствии с естес...

27 12 2020 6:17:55

Выполнение нескольких действий по умолчанию в C#

Иногда (но не часто!) полезно, чтобы форма выполняла несколько действий по умолчанию в зависимости от той части формы, которую использует пользователь. В э...

26 12 2020 12:53:25

Сохранение цветовой палитры в настройках программы на C#

Пример Сделать постоянную цветовую палитру в C# показывает, как программа может использовать настройки для сохранения и восстановления цветовой палитры. Пр...

25 12 2020 23:54:18

Сделайте слайдер с иглой в C#

Этот пример рисует вертикальную «иголку» в PictureBox, чтобы пользователь мог выбрать значение, как это делает TrackBar. Однако код выполняет весь чертеж,...

24 12 2020 9:41:34

Разница между JavaScript и ECMAScript?

ECMA означает Европейскую ассоциацию производителей компьютеров. ECMAScript - это стандарт языка программирования, такой как lisp. JavaScript - это реализа...

23 12 2020 12:37:19

Изменение ориентации и полей печати в C#

В этом примере показано, как изменить ориентацию и поля печати в распечатке или предварительном просмотре печати. По умолчанию, когда вы показываете предва...

22 12 2020 23:21:33

Переход на другую HTML страницу JavaScript

Вы можете перенаправить веб-страницу с помощью JavaScript, используя ряд методов. Если вам нужен скрипт переадресации JavaScript, совместимый с кросс-брауз...

21 12 2020 18:14:27

Отображение метафайла Windows (wmf) в C#

Метафайк Windows (wmf) - это файл изображения, содержащий инструкции для рисования фигур. Напротив, растровые, PNG, JPG и другие файлы растровых изображени...

20 12 2020 0:12:11

Простой регистратор событий в C#

Обычно отладчик позволяет вам изучить, как работает программа достаточно эффективно, но иногда полезно использовать регистратор событий для записи событий...

19 12 2020 1:31:41

Разница между абстрактным классом и интерфейсом в Java

Термин « Абстракция» означает скрытие внутренней реализации функции и только отображение функциональности для пользователей. Это означает, что абстрактный к...

18 12 2020 4:39:27

Среда разработки Intellij idea

IntelliJ IDEA — интегрированная среда разработки программного обеспечения на многих языках программирования от компании JetBrains. В 2001 году была выпущен...

17 12 2020 13:37:53

Изменение ориентации и полей печати в C#

В этом примере показано, как изменить ориентацию и поля печати в распечатке или предварительном просмотре печати. По умолчанию, когда вы показываете предва...

16 12 2020 7:27:23

Как получить список атрибутов класса в Python

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

15 12 2020 15:31:59

Инициализировать словарь в C#

Сообщение Инициализация двумерных массивов в C# объясняет как инициализировать двумерный массив. Хотя Dictionary является более сложным типом данных, вы мо...

14 12 2020 7:37:20

Как извлечь текст из метафайла в C#

Пример Перечислить записи в метафайле в C# показывает, как перечислить записи в метафайле. В этом примере перечислены записи, ищет те, которые представляют...

13 12 2020 16:46:38

Среда разработки NetBeans

NetBeans – бесплатно распространяемая среда разработки для языков C, C++, Java, PHP, Javascript, Python и прочих. Этот проект разрабатывается независимой г...

12 12 2020 10:21:18

Как использовать FTP в Python

Отправка небольшого файла по электронной почте в виде вложения может работать во многих ситуациях, но для больших файлов это может быть болезненный процесс...

11 12 2020 11:24:32

Java для чайников (Барри Берд)

Java — современный объектно-ориентированный язык программирования. Программа, написанная на Java, способна выполняться практически на любом компьютере. Зна...

10 12 2020 16:55:11

Как создать документ Word в C#

В этом примере показано, как заставить C# создать документ Word. Сначала откройте диалоговое окно « Добавить ссылки». На вкладке COM выберите « Библиотека об...

09 12 2020 1:48:29

Методы расширения в C#

C# поддерживает несколько способов расширения существующих типов без изменения существующего кода. Существует два разных способа: методы расширения и перео...

08 12 2020 16:16:34

Метод Java String charAt()

Java String charAt() возвращает символ, расположенный по указанному индексу в String. Строковые индексы начинаются с нуля и варьируются от 0 до длины() - 1...

07 12 2020 11:50:31

Как получить изображение элемента управления, формы или клиентской области формы в C#

В этом примере показано, как получить изображение элемента управления. Поскольку форма является типом управления, тот же метод позволяет получить образ фор...

06 12 2020 12:32:18

Что такое ключевое слово instanceof в Java?

Java instanceof - это ключевое слово. Это двоичный оператор, используемый для проверки, является ли объект (экземпляр) подтипом данного типа. Он возвращает...

05 12 2020 9:39:35

Философия Java (Брюс Эккель)

Java нельзя понять, взглянув на него только как на коллекцию некоторых характеристик, - необходимо понять задачи этого языка как частные задачи программиро...

04 12 2020 10:23:35

Путь установки для Python

Windows позволяет постоянно настраивать переменные среды как на уровне пользователя, так и на уровне системы или временно в командной строке.  Чтобы запусти...

03 12 2020 17:31:46

PHP 5 для начинающих (Дэйв У. Мерсер, Аллан Кент, Стивен Д. Новицки)

Эта книга представляет собой подробное учебное пособие для желающих освоить современную версию PHP. В книге описывается установка и конфигурирование PHP, о...

02 12 2020 21:40:11

Разница между локальной переменной Java, переменной экземпляра и переменной класса?

Локальная переменная в Java обычно используется в методе, конструкторе или блоке и имеет только локальную область. Таким образом, вы можете использовать пе...

01 12 2020 14:29:32

Являются ли полиморфизм, перегрузка и переопределение аналогичных понятий?

Перегрузка - это действие определения нескольких методов с тем же именем, но с разными параметрами. Переопределяющее средство переопределяет тело метода су...

30 11 2020 19:41:55

Разница между system.gc() и runtime.gc() в Java

Типичный алгоритм сбора мусора (GC) в Java идентифицирует мусор, перемещая все ненужные объекты в куче и предполагая, что любой объект, который не был посе...

29 11 2020 18:58:52

Выполнять операции набора в C#

Класс HashSet может представлять объекты в наборе и выполнять операции с множеством, такие как поиск объединения или пересечения двух множеств. Когда прогр...

28 11 2020 17:10:53

Воспроизвести мелодии с определенными частотами в C#

В этом примере показано, как вы можете воспроизводить тоны с заданной частотой и продолжительностью. Когда пользователь нажимает кнопку « Воспроизведение»,...

27 11 2020 4:32:14

Break и Continue в Python

Иногда желательно пропустить некоторые утверждения внутри цикла или немедленно завершить цикл, не проверяя тестовое выражение. В таких случаях мы можем исп...

26 11 2020 20:54:23

Получаем размер шрифта в пикселях в C#

Одна странность класса Font заключается в том, что его свойство « Размер» возвращает размер шрифта в единицах, которые использовались для создания шрифта. С...

25 11 2020 20:37:49

Операторы, типы и переменные в C#

Переменные и типы « Переменные» - это просто места хранения данных.  Вы можете поместить в них данные и получить данные как часть выражения C#. Интерпретация...

24 11 2020 8:18:15

Как создать таблицу Excel в C#

В этом примере используется следующий код для создания диаграммы Excel в новой книге. Код начинается с создания объекта приложения Excel. Он использует мет...

23 11 2020 11:37:20

Treeset в Java

Класс TreeSet реализует интерфейс Set, поддерживаемый TreeMap. Он создает коллекцию, которая использует дерево для хранения. Объекты хранятся в отсортирова...

22 11 2020 6:49:53

Что такое компилятор Just-In-Time (JIT) в Java?

Компилятор Just-In-Time (JIT) является компонентом JRE (Java Runtime Environment), который повышает производительность приложений Java во время выполнения....

21 11 2020 22:57:56

Управление видео с помощью WPF MediaElement в C#

В этом примере показано, как вы можете управлять видео MP4 с помощью элемента управления MediaElement WPF. Элемент управления обеспечивает удивительно крас...

20 11 2020 4:50:35

Нарисуйте кривую с резко очерченными цветами в C#

Сообщение Нарисуйте кривую с несколькими цветами в C# показывает, как вы можете рисовать кривую, которая постепенно меняется от одного цвета к другому, ког...

19 11 2020 22:16:25

Класс InputStreamReader в Java

Класс InputStreamReader считывает символы из байтового входного потока. Он считывает байты и декодирует их на символы с использованием указанной кодировки....

18 11 2020 18:15:42

Делаем повторяющуюся серию «случайных» чисел в C#

Класс Random может генерировать ряд псевдослучайных чисел.  Их называют «псевдослучайными», а не «случайными», потому что цифры генерируются математическим...

17 11 2020 22:19:18

Создайте список без дубликатов в C#

В этом примере создается список объектов Person без дубликатов. Следующий код показывает класс Person. Этот класс объявляет простые FirstName и LastName по...

16 11 2020 3:45:48

Показывать сложный интерес в C#

Это более графическая версия примера Рассчитайте значение ежемесячной инвестиции в C# . Вместо добавления значений в элемент управления ListView этот приме...

15 11 2020 6:35:21

Расположите форму в нижнем правом углу экрана в C#

Свойство Screen.PrimaryScreen.WorkingArea дает размер рабочей области основного экрана. ( Для получения дополнительной информации см. Получить рабочую облас...

14 11 2020 16:12:30

Язык программирования С++ (Б. Страуструп)

Книга Б. Страуструпа " Язык программирования С++" дает описание языка, его ключевых понятий и основных приемов программирования на нем. Это завершенное руко...

13 11 2020 22:56:25

Java для чайников (Барри Берд)

Java — современный объектно-ориентированный язык программирования. Программа, написанная на Java, способна выполняться практически на любом компьютере. Зна...

12 11 2020 10:56:10

Метод Substring() в Java

Подстрока является частью строки. Метод String substring() Java String возвращает новый строковый объект из данной строки. Синтаксис String str = "Java Str...

11 11 2020 20:58:43

Программирование в тональности С# (Петцольд Ч.)

Эта книга — своего рода учебник для тех, кто решил заняться изучением С#—современного, объектно-ориентированного языка программирования, разработанного Mic...

10 11 2020 10:53:16

PHP: обучение на примерах (А. Кухарчик)

Книга предназначена прежде всего для начинающих, но может быть полезна и опытным программистам, использующим Р Н Р. Просто и доступно изложены основы Р Н Р — п...

09 11 2020 9:45:29

Методы расширения для генерации случайных чисел двойной дочности в C#

В этом примере добавляются методы расширения класса Random для генерации двойных значений в указанном диапазоне. Класс Random предоставляет методы для гене...

08 11 2020 1:28:35

Как удалить контекстное меню элемента управления TextBox в C#

Обычно элемент управления TextBox имеет контекстное меню, которое появляется при щелчке правой кнопкой мыши по нему, но что, если вы не хотите этого контек...

07 11 2020 0:36:21

Как создать каталог и промежуточные каталоги в C#

Метод System.IO.Directory класса CreateDirectory класса создает каталог. Если путь каталога содержит отсутствующие промежуточные каталоги, он также создает...

06 11 2020 5:17:35

Распечатайте диаграмму конверсии по Цельсию в Фаренгейт в C#

Один из моих друзей повара много использует японские кулинарные книги. Поскольку печи в Соединенных Штатах показывают только температуру в градусах Фаренге...

05 11 2020 2:39:11

Найти египетские фракции в C#

Египетская фракция представляет собой долю, выраженную в виде суммы отдельных единичных дробей. Например, вы можете написать 3/7 как 1/3 + 1/11 + 1/231. Вы...

04 11 2020 2:23:27

Чтение данных Excel в C#

Чтобы прочитать данные Excel, вы можете открыть приложение Excel и использовать его в качестве сервера для управления книгами Excel. Сначала откройте диало...

03 11 2020 13:42:38

Link ComboBox и источники данных ListBox в C#

Немногие знают, что вы можете связать элементы ComboBox и ListBox с источниками данных. Если вы установите для своего свойства DataSource значение массива...

02 11 2020 1:59:32

Всплывающие окна в JavaScript

Всплывающие окна являются наиболее полезным способом отображения предупреждения или любой другой важной информации для посетителей сайта. JavaScript имеет...

01 11 2020 19:51:24

Отображать образцы шрифтов для всех установленных шрифтов в WPF и C#

Введите образец строки и выберите размер шрифта. Когда вы нажимаете « Показать образцы», выполняется следующий код. Этот код очищает метку имени шрифта в ни...

31 10 2020 7:56:59

Метод Substring в C#

Метод Substring в строке C#. Класс возвращает новую строку, которая является подстрокой этой строки. Подстрока начинается с указанного заданного индекса и...

30 10 2020 17:49:35

Список всех файлов в папке в Java

Как читать все .txt-файлы в папке Подсчет количества файлов в каталоге с помощью Java Источник: http://net-informations.com/Java/files/folder.htm...

29 10 2020 3:38:50

Разделить файлы изображений в C#

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

28 10 2020 20:51:48

1С:Предприятие 8.0: Приемы программирования (Всеволод Несвижский)

Книга 1 С: Предприятие 8.0: Приемы программирования полностью построена на реальных примерах и задачах, решаемых 1 С-программистами в повседневной работе. Пре...

27 10 2020 0:48:53

Нарисуйте заполненную картиной гистограмму в C#

Пример Сделать простая гистограмма в C# показывает, как рисовать гистограмму. В этом примере показано, как заполнять бары гистограммы изображениями. Следую...

26 10 2020 6:17:25

Разрешить ограниченный выбор CheckBox в C#

Обычно пользователь может проверить или снять флажок CheckBox независимо от других параметров. Это сообщение показывает, как вы можете разрешить ограниченн...

25 10 2020 5:40:18

Как интерпретируется Python?

Переводчик является своего рода программа , которая выполняет другие программы. Когда вы пишете программы Python , он преобразует исходный код, написанный...

24 10 2020 6:35:14

Класс OutPutStreamWriter в Java

OutPutStreamWriter записывает символы в выходной поток, переводя символы в байты в соответствии с указанной кодировкой символов. Каждый OutputStreamWriter...

23 10 2020 12:44:39

Сравните скорости LINQ для разных подходов в C#

В этом примере сравниваются скорости LINQ при использовании LINQ различными способами. Чтобы найти минимальные и максимальные значения X в List & lt; Point...

22 10 2020 6:29:23

Как создать инвентарь в Unity 5 при помощи UI с выбором предмета

В этом уроке мы разберем как создать инвентарь для RPG игр (или их подобрых) с выбором предмета в Unity 5 при помощи UI. И реализуем их динамическую выгруку...

21 10 2020 19:45:18

Форматировать текст в RichTextBox в C#

В этом примере используется следующий код для форматирования трех фрагментов текста в первом RichTextBox. Чтобы упростить форматирование, следующий метод S...

20 10 2020 5:57:33

If, else, Switch в JavaScript

Все языки программирования предоставляют инструкции управления потоком, которые позволяют вам контролировать порядок выполнения кода. Условный оператор пре...

19 10 2020 6:47:43

Делегаты и интерфейсы в C#

Делегаты: Делегаты являются ссылочными типами, поэтому они выделяют весь объект только для ссылки на метод. Делегаты быстрее всего звонят, когда вы знаете...

18 10 2020 1:52:33

Вектор в Java

Java-векторы обычно используются вместо массивов, поскольку они автоматически расширяются при добавлении новых данных. Это означает, что экземпляры Vector,...

17 10 2020 15:21:10

Новая большая книга CSS (Дэвид Макфарланд)

Технология CSS3 позволяет создавать профессионально оформленные сайты, но тонкости этого языка могут оказаться довольно сложными даже для опытных веб-разра...

16 10 2020 15:15:43

Используйте SQL-запросы для отображения данных master-detail в C#

В этом примере SQL-запросы запрашивают данные master-detail только тогда, когда это необходимо. В течение довольно долгого времени .NET-ish способ манипули...

15 10 2020 2:16:25

Генерация букв с заданными частотами в C#

В этом примере генерируются случайные буквы с частотами, которые они имеют в обычном английском тексте. Следующий код показывает, как этот пример запускает...

14 10 2020 1:39:49

Являются ли полиморфизм, перегрузка и переопределение аналогичных понятий?

Перегрузка - это действие определения нескольких методов с тем же именем, но с разными параметрами. Переопределяющее средство переопределяет тело метода су...

13 10 2020 19:45:37

Как составить список проверенных узлов TreeView в C#

Если для свойства CheckBoxes элемента управления TreeView установлено значение true, тогда элемент управления отображает поля, которые пользователь может п...

12 10 2020 18:27:27

Циклы в JavaScript (FOR, FOR-IN, While, do..while) с примерами

Looping - фундаментальная идея программирования, которая обычно используется при написании программ. Цикл представляет собой последовательность команд s, к...

11 10 2020 5:14:18

Разница между Java и JavaScript?

Хотя оба имеют похожие имена, оба являются двумя совершенно разными языками программирования. Java - это полнофункциональный, универсальный, язык программи...

10 10 2020 11:58:44

Вопросы по Python - 1

Почему язык назывался Python? Python фактически получил свое название от серии комедии BBC с семидесятых годов « Летающий цирк Монти Пайтона». Дизайнеру пон...

09 10 2020 9:43:41

Список языков, которые вы можете компилировать во время выполнения в C#

Пример Запуск введенного пользователем кода в C# показывает как позволить пользователю вводить код C#, компилировать во время выполнения и выполнять резуль...

08 10 2020 19:32:59

Доступность проверенных узлов TreeView в C#

В предыдущем примере использовалась рекурсия для перемещения узлов в элементе управления TreeView и заполнения списка проверяемыми узлами. В этом примере и...

07 10 2020 0:41:21

Создайте список недавно использованных файлов (MRU) в C#

В списке MRU отображаются файлы, которые программа использовала совсем недавно в меню. Если пользователь выбирает файл из списка, программа снова открывает...

06 10 2020 3:11:30

If, else, case в Bash

В Bash, If утверждения очень полезны.  В этом разделе нашего урока вы узнаете, как вы можете использовать, If, else, elif, case инструкции в ваших сценариях Bash....

05 10 2020 13:14:53

Преобразование между байтовыми массивами и шестнадцатеричными строками в C#

В этом примере используются методы расширения для преобразования между байтовыми массивами и шестнадцатеричными строками. Он добавляет метод расширения ToH...

04 10 2020 18:23:13

C# 4.0 Полное руководство (Герберт Шилдт)

В книге "C# 4.0 Полное руководство" Г. Шилдта по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все осно...

03 10 2020 13:57:17

Почему Java не является чисто объектно-ориентированным языком?

Язык оцифрованного программирования (OOP) использует метод объектно-ориентированного программирования, который связывает связанные данные и функции с объек...

02 10 2020 12:19:31

Метод Contains() в Java

Java String contains()- метод чтобы проверить, содержит ли String указанную последовательность символов. Этот метод возвращает логический тип данных, котор...

01 10 2020 0:40:31

Обучение мобильной разработке на Delphi (В. Леонов)

Основной целью данной книги является наглядная демонстрация приёмов создания программ в одной из самых популярных и доступных сред разработки Delphi/C++Bui...

30 09 2020 11:55:39

Использование растрового изображения для значка в C#

Вы не можете установить свойство Icon формы, равное растровому изображению. К счастью, достаточно легко создать значок из растрового изображения. В этом пр...

29 09 2020 10:41:34

Язык программирования Python (Д.С.Откидач)

Python является простым и, в то же время, мощным интерпретируемым объектно-ориентированным языком программирования. Он предоставляет структуры данных высок...

28 09 2020 10:15:21

Python. Карманный справочник (Марк Лутц)

Этот краткий справочник по Python карманного типа обновлен с учетом версий 3.4 и 2.7 и очень удобен для наведения быстрых справок в процессе разработки про...

27 09 2020 8:22:25

Switch в Java Синтаксис и примеры

Оператор switch используется для выполнения различных действий на основе разных условий. Оператор switch Java работает с байтовыми, короткими, char и int п...

26 09 2020 12:17:43

Ассемблер - это просто. Учимся программировать. (Калашников О. А.)

Подробно и доходчиво объясняются все основные вопросы программирования на ассемблере. Рассмотрены команды процессоров Intel, 16- и 32-разрядные регистры, о...

25 09 2020 7:54:47

Перечислите уникальные слова в файле Microsoft Word в C#

Пример Список уникальных слов в тексте файл в C# показывает, как перечислить уникальные слова в текстовом файле. В этом примере показано, как перечислять у...

24 09 2020 16:25:34

Найти классы, которые реализуют интерфейс или являющиеся потомками данного класса в C#

В этом примере вы можете найти классы, которые являются частью иерархии наследования или реализации. Когда вы вводите имя класса или интерфейса и нажимаете...

23 09 2020 1:22:11

Нечеткие линии для рисования теней в C#

Один из способов рисования теней на C# - рисовать объект, сдвинутый вниз и вправо, светло-серого цвета, как показано слева на рисунке выше. Это работает до...

22 09 2020 17:35:48

Сравните производительность команд if-else и switch в C#

Пример Сравните скорости условного оператора (тройной оператор? :) и оператор if-else в C# сравнивает производительность двух видов условных тестов. Джонни...

21 09 2020 19:51:11

Автоматически конвертировать регистр в TextBox в C#

Вы можете сделать это во время разработки, хотя в этом примере я устанавливаю свойства в следующем коде, чтобы их было легко увидеть. Источник: http://csha...

20 09 2020 15:39:48

Операции Java LinkedList

Связанные списки относятся к простейшим и наиболее распространенным структурам данных. Массивы и связанные списки аналогичны, так как они хранят коллекции...

19 09 2020 4:49:37

PHP: обучение на примерах (А. Кухарчик)

Книга предназначена прежде всего для начинающих, но может быть полезна и опытным программистам, использующим Р Н Р. Просто и доступно изложены основы Р Н Р — п...

18 09 2020 5:55:40

Выполнять бинарное усиление контраста интерактивно в C#

Пример Выполнение бинарного усиления контрастности на образ в C# выполняет бинарное усиление контрастности, устанавливая каждый пиксель на черный или белый...

17 09 2020 13:50:46

Отображать образцы шрифтов для всех установленных шрифтов в WPF и C#

Введите образец строки и выберите размер шрифта. Когда вы нажимаете « Показать образцы», выполняется следующий код. Этот код очищает метку имени шрифта в ни...

16 09 2020 8:25:26

Как найти слово под мышью в элементе управления RichTextBox в C#

Следующий метод WordUnderMouse возвращает слово под мышью в RichTextBox. В коде используется метод RichTextBox управления GetCharIndexFromPosition, чтобы п...

15 09 2020 11:57:45

Нарисуйте пунктирные линии с разными стилями в C#

Чтобы нарисовать пунктирные линии, создайте новый Pen и установите его свойство DashStyle, чтобы указать стиль тире, который вы хотите. Например, следующий...

14 09 2020 19:36:38

Использование лямбда-выражений в C#

Пример Использование лямбда-выражений в C# показало, как использовать лямбда выражения для сжатого создания анонимного метода, который принимает параметры...

13 09 2020 18:50:22

Самоучитель Java (Хабибуллин И.Ш)

Самоучитель написан на основе материала лекций читаемых автором для студентов первого курса. Изложены практические приемы использования как традиционных, т...

12 09 2020 7:57:12

C++ для чайников (Стефан Рэнди Дэвис)

Научитесь программировать! Полное руководство по C++, с учетом стандартов C++ и C++ 14. Вы всегда хотели научиться программировать, но не знали, какой язык...

11 09 2020 14:18:34

Как преобразовать TimeStamp в Date в Java?

API JDBC использует отдельный класс Date, Time и Timestamp для подтверждения типа данных DATE, TIME и DATETIME из базы данных, но большая часть объектно-ор...

10 09 2020 8:54:46

Оператор Java break и continue

Иногда желательно пропустить некоторые утверждения внутри цикла или немедленно завершить цикл, не проверяя тестовое выражение. В таких случаях мы можем исп...

09 09 2020 12:38:40

Оператор Java break и continue

Иногда желательно пропустить некоторые утверждения внутри цикла или немедленно завершить цикл, не проверяя тестовое выражение. В таких случаях мы можем исп...

08 09 2020 14:40:36

События флеш-кликов в C#

Если кнопка запускает длинную задачу, вы, вероятно, не хотите, чтобы пользователь мог снова нажать кнопку (или, возможно, ничего в приложении), пока задача...

07 09 2020 0:31:30

Инициализация ComboBox из перечисления в C#

Часто полезно инициализировать ComboBox из перечисления, чтобы пользователь мог выбрать одно из значений перечисления. Вы можете ввести значение в ComboBox...

06 09 2020 20:27:32

Понимание переходных переменных в Java

Сериализация в Java - это механизм записи состояния объекта в поток байтов, а десериализация - это процесс преобразования потока байтов обратно в копию исх...

05 09 2020 11:22:33

Среда разработки NetBeans

NetBeans – бесплатно распространяемая среда разработки для языков C, C++, Java, PHP, Javascript, Python и прочих. Этот проект разрабатывается независимой г...

04 09 2020 6:14:38

Отображение записи базы данных без привязки данных в C#

Многие программы используют привязку данных для отображения записей в базе данных. Этот метод прост (по крайней мере, в том, что касается кода, который вы...

03 09 2020 19:17:24

Как удалить непечатаемые символы ASCII из строки в C#

Следующий способ расширения TrimNonAscii удаляет непечатаемые символы ASCII из строки. ... Обратите внимание, что этот метод удаляет много полезных символо...

02 09 2020 9:25:12

StringTokenizer в Java

Класс StringTokenizer пакета Java.util позволяет приложению разбивать или разбивать строку на мелкие части с помощью определенного разделителя (пробел явля...

01 09 2020 4:27:57

Что такое перечисления Java и почему они полезны?

Перечисление аналогично любому другому классу Java с предопределенным набором экземпляров. Это, в основном, тип данных, который позволяет описывать каждый...

31 08 2020 18:59:51

Как нарисовать текст, заполненный картиной в C#

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

30 08 2020 16:53:16

Еще:
Программирование -1 :: Программирование -2 :: Программирование -3 :: Программирование -4 :: Программирование -5 ::

И сказал Великий Программист:
«После трёх дней без программирования жизнь теряет смысл»