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

Отображение перспективного изображения в 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:

Каковы недостатки использования InnerHTML в JavaScript?

Свойство innerHTML чрезвычайно популярно, поскольку оно обеспечивает простой способ полностью заменить содержимое элемента HTML. Другой способ сделать это...

17 04 2021 19:31:31

List (список) в Python

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

16 04 2021 12:51:56

Как ClassLoader работает на Java?

Java Classloader является частью JRE (Java Runtime Environment), которая динамически загружает классы Java в JVM (виртуальная машина Java). В частности, Ja...

15 04 2021 13:22:31

Дата и время в Python

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

14 04 2021 21:15:14

1С: Бухгалтерия 8.3 для бухгалтера (Николай Селищев)

1 С: Бухгалтерия 8.3 для бухгалтера является иллюстрированным практическим руководством по работе с новейшим и самым современным программным продуктом по ве...

13 04 2021 5:44:51

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

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

12 04 2021 21:10:18

Как освоить профессию программиста: основные ошибки

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

11 04 2021 14:19:11

Анимировать несколько прыгающих мячей в C#

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

10 04 2021 6:47:12

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

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

09 04 2021 11:16:14

Какой язык программирования лучше изучать первым

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

08 04 2021 12:11:10

Как заменить все вхождения строки в JavaScript?

Метод replace() в JavaScript ищет строку для указанного значения или регулярное выражение и возвращает новую строку, где указанные значения заменяются. Но...

07 04 2021 20:14:25

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

В этой статье мы напишем программу переводящую температуру по Цельсию в температуру по Фаренгейту в C#. Вывод:  ...

06 04 2021 7:53:55

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

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

05 04 2021 2:39:53

Treeset в Java

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

04 04 2021 16:50:13

Пройти по значению или пройти по ссылке? JavaScript

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

03 04 2021 8:34:33

Отображать данные master-detail в DataGrid в C#

Во время разработки я добавил проект Database.mdb в проект, установил его свойство «Build Action» в « Содержимое» и установил его свойство « Копировать в вых...

02 04 2021 12:16:21

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

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

01 04 2021 16:13:52

Легко нарисовать повернутый текст на форме в C#

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

31 03 2021 23:21:57

Что такое фильтр ввода-вывода и как его использовать в Java?

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

30 03 2021 2:41:20

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

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

29 03 2021 19:51:39

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

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

28 03 2021 14:45:58

Рисуем преобразованный текст в C#

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

27 03 2021 6:25:11

Обновление DataTable, привязанное к DataGridView в C#

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

26 03 2021 19:50:38

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

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

25 03 2021 15:40:26

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

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

24 03 2021 16:34:47

Язык программирования C# (Хейлсберг А. 2012)

Перед вами — четвертое издание главной книги по языку C#, написанной легендой программирования — Андерсом Хейлсбергом, архитектором C#, Delphi и Turbo Pasc...

23 03 2021 15:15:30

Рекурсивно решить проблему Башни Ханоя в C#

Пример Рекурсивно рисуем двоичное дерево в C# использует рекурсию для рисования ветвей дерева. Хороших примеров рекурсии трудно найти, потому что человечес...

22 03 2021 5:23:40

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

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

21 03 2021 22:27:44

Получение значения переменных по имени в C#

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

20 03 2021 19:51:43

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

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

19 03 2021 20:16:59

Печать в полном масштабе на C#

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

18 03 2021 21:21:37

Список USB-устройств в C#

Эта программа использует WMI (инструментарий управления Windows) для запроса на устройства USB. Чтобы использовать WMI, добавьте ссылки на System.Managemen...

17 03 2021 10:22:22

HashMap в Java

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

16 03 2021 13:25:55

Как узнать реальное время в Unity 5 при помощи ntp сервера.

В этом уроке мы разберем, как узнать реальное время в Unity 5 при помощи ntp сервера для избежания "читерства" переводом времени на локальной машине....

15 03 2021 12:39:52

RandomAccessFile в Java

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

14 03 2021 0:27:21

Используйте ветку и привязаны для решения проблемы раздела в C#

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

13 03 2021 11:21:30

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

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

12 03 2021 14:12:37

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

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

11 03 2021 19:50:11

Закрепите сегмент линии на многоугольник в C#

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

10 03 2021 2:37:54

Многопоточное программирование в Python

Что такое Threading? Поток исполнения является наименьшим последовательность запрограммированных инструкций , которые могут управляться независимо друг от...

09 03 2021 9:10:50

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

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

08 03 2021 10:45:24

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

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

07 03 2021 9:46:26

Современные языки программирования: список 2018

Список современных языков программирования на 2018 год. Чтобы определиться с конкретным языком программирования для изучения (одним или несколькими) нужно для начала ответить себе на вопрос:...

06 03 2021 10:31:36

Мифы о программировании

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

05 03 2021 2:28:50

Как работает тернарный оператор на Python?

Тернарные операторы более широко известны как условные выражения в Python, которые оценивают что-то, основанное на истинном состоянии или нет. Он просто по...

04 03 2021 20:19:28

Что такое undefined x 1 в JavaScript?

Часть стандарта ECMA, JavaScript-консоли будут отображать объекты в виде массивов, когда объекты похожи на массивы. Например: для объекта, содержащего стро...

03 03 2021 13:53:57

Получить HTML содержимое веб-страницы с помощью Python

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

02 03 2021 20:16:24

Как генерировать случайные целые числа в определенном диапазоне в Java

В Java 1.7 или более поздней версии стандартный способ сделать это выглядит следующим образом: min: минимальное значение max: максимальное значение Пример...

01 03 2021 17:49:49

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

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

28 02 2021 16:56:13

Отображать изображения в базе данных Access в WPF и C#

В этом примере показано, как вы можете отображать изображения, хранящиеся в базе данных Access в программе WPF. Вы можете сделать это с помощью связанных э...

27 02 2021 20:17:47

Есть ли способ убить поток в Python?

В Python вы просто не можете убить Thread. Убийство нити устраняет любые гарантии, которые пытаются установить / окончательно блокировать, чтобы вы могли з...

26 02 2021 13:54:54

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

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

25 02 2021 14:13:57

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

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

24 02 2021 12:20:58

Длина строки в C#

Свойство Length в String Class возвращает общее количество символов в String. Синтаксис: int string.length Возвращает: Целое число: количество символов в у...

23 02 2021 15:26:55

Как добавить текст в существующий файл в Java

В Java вы можете использовать PrintWriter (file, true) для добавления нового содержимого в конец файла, и это позволит сохранить существующий контент и доб...

22 02 2021 18:59:28

Что такое объектная модель браузера в JavaScript

Модель объекта браузера (BOM) - это соглашение, специфичное для браузера, относящееся ко всем объектам, открываемым веб-браузером. Когда браузер анализируе...

21 02 2021 4:17:59

Как прочитать файл в Python

Обработка файлов в Python не требует импорта модулей. Объект File предоставляет основные функции и методы, необходимые для управления файлами по умолчанию....

20 02 2021 3:55:32

Как найти шаблоны в Pi в C#

Март 14 известен как день Pi, потому что его числовое представление 3/14 включает в себя первые три цифры Pi: 3.14. ( По крайней мере, в Соединенных Штатах....

19 02 2021 12:39:42

Определение горячих точек карты в C#

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

18 02 2021 22:49:16

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

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

17 02 2021 13:49:16

Сделать созданный владельцем ListBox в C#

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

16 02 2021 14:31:29

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

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

15 02 2021 9:26:25

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

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

14 02 2021 23:26:29

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

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

13 02 2021 14:39:14

Позвольте пользователю писать с различными стилями линии в C#

Пример Позвольте пользователю набросать на PictureBox в C# объясняет, как разрешить пользователю рисовать полилинии, но программа только рисует тонкие черн...

12 02 2021 4:51:38

Используйте событие Validating в C#

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

11 02 2021 16:59:59

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

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

10 02 2021 1:31:42

Выберите разрешение принтера в C#

В этом примере показано, как разрешить пользователю выбирать разрешение принтера. Когда вы устанавливаете принтер объекта PrintDocument, его коллекция Defa...

09 02 2021 10:49:37

RandomAccessFile в Java

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

08 02 2021 12:37:53

Инициализировать двумерные массивы в C#

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

07 02 2021 20:30:32

Как найти свой IP-адрес и имя компьютера в Java

Класс InetAddress можно использовать для поиска доменных имен (DNS). Имя хоста может быть либо именем машины, например «mail.yahoo.com», либо текстовым пре...

06 02 2021 6:14:13

Чтение и запись CSV-файлов в Python

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

05 02 2021 20:17:15

В чем разница между поточной и многопроцессорной обработкой?

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

04 02 2021 16:52:50

Обеспечить автосохранение в C#

Этот пример расширяет пример scribble (наиболее недавно описанный в post Предоставить отменить и повторить в C# ), поэтому он предоставляет функцию автомат...

03 02 2021 15:48:48

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

Перечисление System.Environment класса SpecialFolders перечисляет специальные папки, такие как System, Cookies, Desktop и т. д. Метод класса GetFolderPath...

02 02 2021 17:42:12

Используйте массив управления в C#

Иногда бывает полезно использовать массив управления. Еще до .NET, Visual Basic позволяет определять массивы управления во время разработки. Концепция исче...

01 02 2021 7:25:58

Случайный цвет для прокладки Аполлония в C#

Этот пример похож на пример Нарисуйте прокладку Аполлония в C# < / a> за исключением того, что он заполняет круги, которые он рисует со случайными цветами....

31 01 2021 1:54:14

Метод Substring в C#

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

30 01 2021 21:21:41

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

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

29 01 2021 23:37:14

Что такое тег noscript?

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

28 01 2021 20:17:37

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

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

27 01 2021 9:29:56

Что такое package в Java?

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

26 01 2021 18:49:55

1С: Бухгалтерия 8.3 для бухгалтера (Николай Селищев)

1 С: Бухгалтерия 8.3 для бухгалтера является иллюстрированным практическим руководством по работе с новейшим и самым современным программным продуктом по ве...

25 01 2021 19:13:25

Почему в Python нет оператора switch или case?

У Python нет оператора switch / case из-за неудовлетворительных предложений. Никто не смог предложить реализацию, которая хорошо работает с синтаксисом Pyt...

24 01 2021 9:25:24

Как добавить файл в Python?

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

23 01 2021 21:47:33

Среда разработки Android Studio

Android Studio – интегрированная среда разработки для платформы Android, разработанная компанией Google в 2013 году. Вплоть до 2014 года существовала как п...

22 01 2021 0:38:42

Добавьте экран UAC для управления в C#

В Windows Vista и более поздних версиях Windows вы должны добавить экран UAC (контроль доступа пользователя) к кнопкам, запускающим процессы, требующие пов...

21 01 2021 4:34:53

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

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

20 01 2021 17:11:22

Что такое сборщик мусора в Java?

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

19 01 2021 2:24:50

Позвольте пользователю нарисовать эллипсы резиновой ленты (или другие фигуры) в C#

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

18 01 2021 6:51:27

Добавление и удаление изображений на листе Excel

... Метод InsertPicture вызывает метод Insert для активного листа Picture. Затем он устанавливает свойства изображения Top и Left в Top и Left местоположен...

17 01 2021 5:34:11

If, else, Switch в JavaScript

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

16 01 2021 18:36:45

Эндрю Стиллмен - Изучаем C#, 3-е издание - 2014

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

15 01 2021 2:30:59

JavaScript: логические операторы

  AND оператор: & & OR оператор: || NOT оператор: ! Логические операторы обычно используются с логическими (логическими) значениями. Когда они...

14 01 2021 17:51:13

Многопользовательские игры. Разработка сетевых приложений (Глейзер Дж.)

Многопользовательские игры. Разработка сетевых приложений: Сетевые многопользовательские игры — это многомиллиардный бизнес, привлекающий десятки миллионов...

13 01 2021 22:44:29

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

Следующий CountPixels метод подсчитывает пиксели в изображении, который соответствует целевому цвету. Этот код достаточно прост. Он пропускает пиксели, выз...

12 01 2021 22:34:43

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

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

11 01 2021 15:54:56

Операции Java ArrayList

Программирование Java для начинающих... ArrayList - одна из самых гибких структур данных из коллекций Java. Arraylist - это класс, который реализует интерф...

10 01 2021 13:13:12

Скопируйте и вставьте данные в C#

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

09 01 2021 7:52:20

Что такое механизм передачи параметров Python?

В терминах официальных Документация Python , аргументы передаются путем назначения в Python. Фактические параметры (аргументы) для вызова функции вводятся...

08 01 2021 17:58:32

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

В этом примере показано, как можно быстро преобразовать изображение в оттенки серого с помощью класса Bitmap32, описанного в сообщении Используйте класс Bi...

07 01 2021 5:36:39

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

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

06 01 2021 19:21:33

Каков процесс компиляции и загрузки в python?

Сначала Python компилирует исходный код (.py-файл) в формат, известный как байтовый код. Компиляция - это просто шаг перевода, а байт-код - это низкоуровне...

05 01 2021 10:26:10

Найти предков класса в C#

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

04 01 2021 3:38:38

Как найти даты в цифрах Pi в C#

Пример Поиск паттернов внутри pi в C# ищет шаблоны внутри цифры Pi. Вы можете использовать этот пример для поиска таких дат, как 4/1. В этом примере опреде...

03 01 2021 17:18:20

Разница между памятью Stack and Heap в Java

Модель Java Heap и Stack Memory определяет, как и когда разные потоки могут видеть значения, записанные в общие переменные другими потоками, и как синхрони...

02 01 2021 5:51:55

PHP и MySQL. Исчерпывающее руководство (Бретт Маклафлин)

Если у вас есть опыт разработки сайтов с помощью CSS и Javascript, то эта книга переведет вас на новый уровень веб-разработки — создание динамических веб-с...

01 01 2021 18:13:12

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

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

31 12 2020 16:36:25

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

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

30 12 2020 19:33:57

Получить информацию о ярлыке Windows в C#

Метод GetShortcutInfo, показанный в следующем коде, получает информацию о ярлыке. Программа сначала создает объект Shell32.Shell для работы с оболочкой Win...

29 12 2020 8:45:36

Метод «bind» в JavaScript?

Метод bind() сохраняет контекст «this» и текущих параметров для будущего выполнения. Как правило, он используется для сохранения контекста выполнения для ф...

28 12 2020 9:15:16

Самый первый язык программирования

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

27 12 2020 21:42:16

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

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

26 12 2020 6:10:47

Преобразование между длинными и короткими именами файлов в C#

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

25 12 2020 12:18:54

Получить информацию о формате даты для локали компьютера в C#

Объект System.Globalization namespace's InstalledUICulture предоставляет множество статических методов, предоставляющих информацию о численном, дате и врем...

24 12 2020 1:22:12

Разница между Path и Classpath в Java

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

23 12 2020 6:29:22

Число файлов в каталоге в C#

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

22 12 2020 14:33:51

Скачать астрономическую картину дня в C#

Каждый день веб-страница Астрономическая картинка дня делает именно то, что вы ожидаете: она отображает другую астрономию картина. Изображения включают пла...

21 12 2020 13:15:48

Как удалить кнопку «Закрыть» из системного меню формы в C#

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

20 12 2020 16:33:28

Метод Contains() в Java

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

19 12 2020 2:19:36

В чем разница между ArrayList и LinkedList?

ArrayList и LinkedList являются классами Collection, и оба они реализуют интерфейс List. LinkedList реализует его с двусвязным списком, в то время как Arra...

18 12 2020 14:33:14

Используйте ключевое слово params в C#

Если вы используете ключевое слово params перед параметром массива, используемым в качестве параметра last в методе, тогда вызывающий код может передавать...

17 12 2020 7:53:23

Печать изображений в C#

В этом примере показан простой способ печати изображений. Когда вы печатаете, обработчик события PrintPocument PrintDocument предоставляет объект Graphics...

16 12 2020 8:11:58

Что такое литералы в Python?

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

15 12 2020 18:36:20

Как использовать * args и ** kwargs в Python

Параметр с ** (двойной звездой) и * (звезда) позволяет определять функции для принятия и для пользователей передавать любое количество аргументов, position...

14 12 2020 11:28:14

Загрузите изображение во время выполнения в WPF и C#

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

13 12 2020 8:49:20

List (список) в Python

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

12 12 2020 11:16:16

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

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

11 12 2020 11:41:43

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

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

10 12 2020 14:39:55

HTML5 для веб-дизайнеров (Кит Джереми)

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

09 12 2020 8:22:20

Объекты и классы в C#

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

08 12 2020 7:30:49

Выполнение специальных команд SQL в C#

В этом примере используется OLE DB для подключения к базе данных доступа. ( К сожалению, этот метод не может создать базу данных, но вы можете использовать...

07 12 2020 3:23:49

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

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

06 12 2020 16:46:34

Класс InputStreamReader в Java

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

05 12 2020 22:57:16

Разница между capacity() и size() вектора в Java

Разница между capacity() и size() в Java.util.Vector заключается в том, что size() - это количество элементов, которые в настоящее время удерживаются, а ca...

04 12 2020 22:23:29

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

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

03 12 2020 1:21:50

Используйте двойную буферизацию, чтобы предотвратить мерцание в PictureBox в C#

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

02 12 2020 15:51:22

Многопоточный сервер сокетов в Python

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

01 12 2020 13:29:16

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

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

30 11 2020 1:46:41

Прочтите CSV-файл в массив в C#

Следующий метод LoadCsv считывает CSV-файл в двумерный массив строк. В коде используется System.IO.File.ReadAllText, чтобы прочитать содержимое файла в стр...

29 11 2020 10:42:45

Метод Replace() в Java

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

28 11 2020 22:51:56

Изучаем JavaScript (Моррисон М.)

Вы готовы сделать шаг вперед в своей практике веб-программирования и перейти от верстки в HTML и CSS к созданию полноценных динамических страниц? Тогда при...

27 11 2020 6:11:12

Что такое классы-оболочки в Java

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

26 11 2020 21:59:15

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

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

25 11 2020 23:23:22

Delphi в примерах, играх и программах (Валерий Рубанцев)

В январе 2011 года в питерском издательстве Наука и техника вышла книга Валерия Рубанцева "Delphi в примерах, играх и программах". К сожалению, в ней не на...

24 11 2020 20:41:59

Как установить максимальное использование памяти для JVM?

Объем памяти, которую может использовать программа Java, зависит от ее среды. Библиотека Java Standard предоставляет следующие методы в классе выполнения....

23 11 2020 22:24:16

Назначение оператора «/» и «//» в python?

Разделение («/»): делит левый. Отдел работает на Python так, как он математически определен. Floor Division ("//"): разделение операндов, где результатом я...

22 11 2020 14:57:26

Переменные в Bash

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

21 11 2020 7:53:42

Объектно-ориентированное программирование в С++ (Лафоре Р. 2004)

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

20 11 2020 22:21:38

Нарисуйте цветное колесо с альфа-и насыщенными значениями в C#

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

19 11 2020 5:47:25

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

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