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

Сохранение управляющих изображений WPF в C#

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

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

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

Python

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

Более функциональная часть интерфейса начинается с Grid с именем grdText. Этот элемент управления содержит прямоугольник Rectangle с закругленными углами и заполнен с помощью кисти с линейным градиентом с эффектом растрового изображения с закругленным выпуском.

Сетка Grid также содержит TextBlock со скошенным растровым эффектом. Этот элемент управления содержит Run, который определяет отображаемый текст.

Оба Rectangle и TextBlock заполняют Grid, поэтому программе необходимо изменить размер Grid на также измените размеры других.

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

Python

Этот код проверяет, была ли еще создана сетка grdText. Если это так, программа анализирует введенную ширину и устанавливает ширину сетки этой суммы. ( Rectangle и TextBlock внутри Сетка автоматически изменяется в соответствии с.)

Следующий код показывает, как программа реагирует при изменении размера шрифта.

Python

Ключевым моментом здесь является то, что код устанавливает свойство FontSize объекта runText Run, определенного XAML. (Вот почему XAML дал объекту Run имя.)

До сих пор все довольно просто. К сожалению сохранение изображения Grid при нажатии кнопки Capture немного сложнее. (Это одна из моих проблем с WPF. Это такая операция, которая в течение многих лет использовалась в программировании Windows Forms. В ранних версиях .NET это было сложнее, но с течением времени были добавлены инструменты, чтобы упростить ее. WPF начал все сначала, игнорируя уроки, которые мы узнали за многие годы программирования .NET.)

В любом случае, код WPF, который захватывает изображение, довольно запутанный и включает в себя одну очень странную проблему, которая смущает многих людей. Эта проблема заключается в том, что простая попытка отобразить изображение элемента управления будет позиционировать изображение относительно происхождения родителя. Например, предположим, что элемент управления находится в позиции (100, 200) относительно происхождения своего родителя. Затем, если вы просто попытаетесь отобразить элемент управления, изображение будет сдвинуто на 100 пикселей вправо и на 200 пикселей вниз.

В любом случае, код WPF, который захватывает изображение, довольно запутанный и включает в себя одну очень странную проблему, которая смущает многих людей. Эта проблема заключается в том, что простая попытка отобразить изображение элемента управления будет позиционировать изображение относительно происхождения родителя. Например, предположим, что элемент управления находится в позиции (100, 200) относительно происхождения своего родителя. Затем, если вы просто попытаетесь отобразить элемент управления, изображение будет сдвинуто на 100 пикселей вправо и на 200 пикселей вниз.

...

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

Более простой подход (если вы можете применить слово «проще» ко всему, что связано с WPF и рендерингом) заключается в создании VisualBrush, который содержит изображение элемента управления. Затем вы можете заполнить целевое растровое изображение этой кистью, чтобы отобразить изображение элемента управления. Этот пример использует этот подход.

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

Следующий код выполняется при нажатии кнопки Capture.

Python

Этот код сначала устанавливает свойство SizeToContent окна для WidthAndHeight для обеспечения видимости всего элемента управления. Затем он вызывает следующий SaveControlImage метод для выполнения реальной работы.

Python

Этот метод сначала использует VisualTreeHelper.GetDescendantBounds, чтобы получить область, охваченную элементом управления и его потомками. Затем он создает DrawingVisual для представления ориентированного на пиксель графического объекта (в этом случае это будет растровое изображение).

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

Далее код делает размер RenderTargetBitmap таким, чтобы он соответствовал фактическому размеру элемента управления. Вы можете использовать размер rect, но это, по-видимому, дает лучший результат. Затем код преобразует DrawingVisual в растровое изображение.

В этот момент метод имеет RenderTargetBitmap, удерживающий изображение элемента управления, и ему просто нужно сохранить растровое изображение в файл. Для этого код создает PngBitmapEncoder и добавляет растровое изображение в список Frames.

Наконец, метод записывает кодировщик в поток файлов для создания файла PNG.

Простой, не так ли?

Источник: http://csharphelper.com/blog/2015/10/save-wpf-control-images-in-c/



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

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

Как настроить объект на null, помогая сборке мусора?

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

23 09 2020 15:47:41

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

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

22 09 2020 21:55:17

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

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

21 09 2020 11:18:22

Как работать с Raycast в 2D пространстве в Unity 5

В данном уроке мы разберем как работать с Raycast в 2D пространстве в Unity 5. Для этого мы будем использовать библиотеку Physics2d...

20 09 2020 17:17:19

Сделайте сложный график, показывающий сложный интерес к C#

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

19 09 2020 21:57:27

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

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

18 09 2020 14:52:37

Что такое отказобезопасные и отказоустойчивые итераторы в Java

Неуправляемые итераторы Fail-Fast iterators, возвращенные большинством типов коллекций, не переносят каких-либо структурных изменений в коллекции, итерации...

17 09 2020 9:38:44

Инициализация элементов управления DataGridView с объектами в C#

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

16 09 2020 22:29:49

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

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

15 09 2020 8:44:52

Виды языков программирования и их назначение

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

14 09 2020 7:17:50

Самоучитель C++ (Г. Шилдт)

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

13 09 2020 5:38:25

Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 3-е изд. (Робин Никсон)

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

12 09 2020 16:13:31

Печатать звезды в C#

В этом примере показано, как вы можете печатать звезды с определенными размерами на C#. Недавно кто-то связался со мной, спрашивая, знаю ли я о программе,...

11 09 2020 0:41:59

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

В этом примере используются методы, описанные в post Нарисуйте улучшенные 3D-сегменты, используя WPF и C# , чтобы нарисовать 3D-оси с тиковыми метками. Вы...

10 09 2020 8:46:48

Как скопировать и вставить объекты в буфер обмена в C#

Очень легко скопировать и вставить объекты в буфер обмена на C#. Единственный реальный трюк - украсить класс, который вы хотите использовать с атрибутом Se...

09 09 2020 4:20:15

Обменные курсы в C#

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

08 09 2020 13:15:10

1С:Предприятие 8.0. Управление торговлей (В.Григорьева)

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

07 09 2020 9:16:10

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

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

06 09 2020 21:50:49

MySQL 5.0. Библиотека программиста (Виктор Гольцман)

Эта книга предназначена для всех, кто желает освоить С У Б Д MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Wind...

05 09 2020 13:19:27

Что такое числовое продвижение? Java

Числовое продвижение, также известное как « Неявное преобразование» или «автоматическое преобразование Java», где автоматическое преобразование значения мен...

04 09 2020 3:18:17

Завершение работы Windows, перезагрузка, выход из системы, блокировка, спящий режим и спящий режим на C#

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

03 09 2020 3:50:15

Получите значение автонабора, которое только что было вставлено в C#

Если поле базы данных является полем автонабора, то база данных автоматически генерирует для него значения. Например, предположим, что таблицы Students име...

02 09 2020 3:10:35

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

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

01 09 2020 19:11:30

Анимирование цветов радуги в C#

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

31 08 2020 5:21:49

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

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

30 08 2020 21:25:18

Использование свойства ActiveControl в C#

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

29 08 2020 17:55:33

Преобразование файлов doc в файлы docx в C#

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

28 08 2020 10:18:50

Бизли Д. Python. Подробный справочник (4-е издание, 2010)

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

27 08 2020 7:39:29

Файлы в каталоге автозагрузки в C#

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

26 08 2020 8:11:46

Treeset в Java

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

25 08 2020 22:44:56

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

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

24 08 2020 17:30:20

Как найти пятницу тринадцатое в C#

Код сначала очищает результат ListBox. Затем он получает даты начала и окончания и использует их для получения номеров начала и конца года. Далее программа...

23 08 2020 8:18:13

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

Код получает объект Process программы, а затем использует его свойства, чтобы узнать об использовании памяти. Источник: http://csharphelper.com/blog/2015/1...

22 08 2020 18:59:56

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

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

21 08 2020 13:50:40

PHP 5 для чайников (Джанет Валейд)

Данная книга является введением в область Web-программирования на языке Р Н Р 5. С ее помощью можно быстро написать сценарий для Web, обеспечить взаимодейств...

20 08 2020 2:58:47

Класс FileWriter в Java

FileWriter - это представление символа Java.io. Это означает, что он может использоваться для написания символов. Он расширяет OutputStreamWriter, который...

19 08 2020 11:10:27

Разница между списками и кортежами в Python?

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

18 08 2020 4:19:50

Сжатие файлов JPG до определенного размера в C#

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

17 08 2020 3:31:19

Отображение анимированных GIF-файлов и их изменение во время выполнения в C#

Вы можете отображать анимированные GIF-файлы, установив свойство Изображение кнопки , PictureBox, Label или другой элемент управления в файл GIF. ( Если вы...

16 08 2020 8:53:51

Метод Substring() в Java

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

15 08 2020 5:17:20

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

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

14 08 2020 5:26:28

Как нарисовать пунктирные линии, которые видны на любом фоне в C#

В этом примере показано, как рисовать пунктирные линии, которые видны на любом фоне.  Иногда трудно рисовать линии, которые видны поверх фотографии или друг...

13 08 2020 7:45:52

If, else, Switch в JavaScript

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

12 08 2020 8:50:38

Рисуем деревья вертикально или горизонтально в C#

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

11 08 2020 3:56:56

Отображение местного времени и GMT в C#

В этом примере используется Timer для выполнения следующего кода каждые полсекунды. Вначале используется DateTime.Now для получения текущей даты и времени....

10 08 2020 16:32:16

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

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

09 08 2020 14:38:39

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

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

08 08 2020 6:27:12

Языки веб программирования: список языков для WEB разработки

Какие существуют языки программирования для WEB разработки? Веб программирование в наше время является одним из самых востребовательных направлений деятельности....

07 08 2020 8:59:29

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

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

06 08 2020 14:26:11

Обработка исключений в C#

Что такое исключение? Исключение .NET - это объект, который описывает условие ошибки во время выполнения. Когда возникает условие ошибки во время выполнени...

05 08 2020 8:22:20

C++. От ламера до программера. Включая C++11 (Эллайн Алекс)

Описание книги C++. От ламера до программера. Включая C++11: Эта книга предлагает быстрый способ изучить принципы объектно-ориентированного программирования...

04 08 2020 6:38:42

Почему я получаю NoClassDefFoundError в Java?

Определение класса можно запросить во время вызова метода или при создании нового экземпляра с использованием нового выражения. NoClassDefFoundError означа...

03 08 2020 19:30:56

В чем разница между созданием String как new() и literal?

Оба выражения дают объект String, но между ними существует тонкая разница. Когда вы используете новую строку («Hello World !!»); , он явно создает новый и...

02 08 2020 19:50:48

Сделать владельцем рисованные меню в C#

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

01 08 2020 11:35:59

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

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

31 07 2020 6:24:33

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

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

30 07 2020 5:19:49

Установить положение видео с помощью полосы прокрутки с помощью WPF в C#

Пример Управление видео с помощью WPF MediaElement в C# позволяет вам установить положение видео несколькими способами. Вы можете использовать кнопки Next...

29 07 2020 9:56:32

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

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

28 07 2020 8:37:23

Как защитить код Python?

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

27 07 2020 1:35:18

Создайте улучшенный собственный шаблон TabControl в C#

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

26 07 2020 19:49:56

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

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

25 07 2020 15:54:23

C# 6.0. Справочник. Полное описание языка (Джозеф Албахари, Бен Албахари)

Данное руководство, ставшее бестселлером, позволяет получить точные ответы практически на любые вопросы по C# 6.0, CLR и основным сборкам .NET Framework. П...

24 07 2020 5:50:35

Управляйте корзиной (корзиной для мусора) в C#

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

23 07 2020 19:10:35

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

При нажатии кнопки + этот пример использует следующий код для добавления вкладки в WPF TabControl с именем tabMain. Сначала код создает TabItem и добавляет...

22 07 2020 23:32:49

В чем разница между 'is' и '==' в python

Оператор is сравнивает идентичность двух объектов, в то время как оператор == сравнивает значения двух объектов. Существует разница в значении между равным...

21 07 2020 20:28:43

Как получить разрешение экрана в C#

Обычно монитор отображает 96 логических (или «условных») точек на дюйм (dpi), но это не всегда хорошая идея чтобы принять это значение. Когда этот пример н...

20 07 2020 23:52:12

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

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

19 07 2020 6:55:36

Преобразовать строку в число в Java? String to Int

Преобразование String в int или Integer - очень распространенная операция в Java. Существует несколько простых способов сделать это преобразование. Часто и...

18 07 2020 4:43:11

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

Xcode – IDE под Mac OS от Apple. Распространяется бесплатно через App Store. Благодаря свободному набору компиляторов данная среда разработки может работат...

17 07 2020 4:40:19

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

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

16 07 2020 8:17:48

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

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

15 07 2020 0:14:47

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

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

14 07 2020 10:50:35

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

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

13 07 2020 21:17:52

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

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

12 07 2020 21:50:58

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

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

11 07 2020 9:51:18

Операции Java LinkedList

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

10 07 2020 23:37:13

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

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

09 07 2020 16:30:24

Set (набор) в Python

Python Set похож на словарь, неупорядоченный набор ключей, который хранится без каких-либо значений. Тип набор изменяемый , содержание может быть изменено...

08 07 2020 21:52:21

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

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

07 07 2020 5:33:25

Класс BufferedWriter в Java

Класс BufferedWriter обладает функциональностью записи буферов символов в файл. Он расширяет Writer, который является абстрактным классом для записи потоко...

06 07 2020 14:22:25

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

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

05 07 2020 22:54:10

Сделать класс фракции в C#

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

04 07 2020 20:10:56

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

В этом примере показано, как получить серийные номера системной платы и идентификаторы Ц П. WMI ( Инструмент управления Windows) позволяет использовать SQL-п...

03 07 2020 14:57:41

HTML5. Недостающее руководство (Мэтью Мак-Дональд)

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

02 07 2020 22:27:53

Как настроить объект на null, помогая сборке мусора?

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

01 07 2020 11:25:53

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

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

30 06 2020 4:53:54

Hashtable в Java

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

29 06 2020 14:56:17

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

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

28 06 2020 21:58:35

Отображение масштабируемой карты с горячими точками в C#

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

27 06 2020 2:25:21

Как сохранить несколько изображений в Access на C#

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

26 06 2020 23:36:51

Как предотвратить модификацию объекта в JavaScript?

Существует множество способов блокировки объекта в соответствии с вашими потребностями. Object.freeze() Object.seal() Object.preventExtensions() Object.fre...

25 06 2020 11:25:16

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

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

24 06 2020 14:51:16

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

Эта программа представляет собой простой секундомер. Когда вы нажимаете кнопку « Пуск», программа меняет заголовок кнопки на « Стоп» и запускает Timer. По ме...

23 06 2020 9:10:20

Инструмент, который создает файлы PNG с прозрачным фоном в C#

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

22 06 2020 4:20:53

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

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

21 06 2020 11:16:13

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

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

20 06 2020 13:25:54

Как определить, существует ли файл или каталог в C#

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

19 06 2020 6:35:43

Что такое docstring в Python?

Строки документации Python (или docstrings) обеспечивают удобный способ связывания документации с модулями, функциями, классами и методами Python. Как вы м...

18 06 2020 17:47:22

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

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

17 06 2020 22:50:17

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

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

16 06 2020 12:24:56

Основы программирования в Embarcadero Delphi (Никита Культин)

Книга представляет собой практическое руководство по программированию в Embarcadero Delphi. В ней представлена технология визуального проектирования и собы...

15 06 2020 22:31:26

Что такое синхронизация Java?

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

14 06 2020 18:19:14

Что такое ссылки на методы в Java?

Ссылки на методы являются признаком Java 8. Самое большое дополнение в Java8 - это лямбда-выражения. Ссылка на метод - это сокращенный синтаксис выражения...

13 06 2020 17:20:21

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

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

12 06 2020 5:25:39

Выполнить анимацию свойств Windows Forms в C#

Изменение свойств элемента управления со временем называется анимацией свойств. Отслеживание того, где свойства элемента управления, например, его положени...

11 06 2020 1:29:12

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

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

10 06 2020 22:16:11

Используйте всплывающие подсказки в C#

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

09 06 2020 3:52:59

Как открыть файл PDF в C#

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

08 06 2020 17:44:49

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

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

07 06 2020 17:28:51

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

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

06 06 2020 5:52:19

Оператор yield в C#

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

05 06 2020 6:40:22

Массивы в JavaScript

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

04 06 2020 16:49:26

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

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

03 06 2020 19:34:39

Секреты профессиональной работы с «1С:Бухгалтерией 8». БАНК и КАССА (С. Харитонов , Д. Чистов)

В книге " Секреты профессиональной работы с «1 С: Бухгалтерией 8». Б А Н К и К А С С А" рассматривается порядок учета банковских и кассовых операций, расчетов с подо...

02 06 2020 20:32:35

Нарисуйте масштабированное нормальное распределение в C#

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

01 06 2020 16:44:18

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

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

31 05 2020 4:52:51

jQuery Mobile. Разработка приложений для смартфонов и планшетов (Максимилиано Фиртман)

Рассмотрено использование фреймворка jQuery Mobile для создания гибких мультиплатформенных приложений для различных мобильных устройств (iPad, Kindle Fire,...

30 05 2020 18:50:16

Установите вкладку RichTextBox в C#

Вы можете установить разные вкладки вкладки RichTextBox для разных частей текста элемента управления RichTextBox. В этом примере используется следующий код...

29 05 2020 7:32:21

Отобразить диалоговые формы многократного использования в C#

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

28 05 2020 11:13:20

This в JavaScript

This ключевое слово является одним из самых запутанных и непонятных частей JavaScript. Ключевое слово this this ведет себя по-разному в JavaScript по сравн...

27 05 2020 3:39:25

Метод indexOf() в Java

Метод Java String indexOf() возвращает позицию указанной строки или символа из данной строки. Если целевая строка или символ не существует, она вернет -1....

26 05 2020 23:37:22

Самоучитель С#. Начала программирования (Элеонора Ишкова)

Данная книга является превосходным и эффективным учебным пособием для изучения языка программирования С# с нуля. Правила и приемы С# иллюстрируются програм...

25 05 2020 16:15:10

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

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

24 05 2020 6:42:42

Дмитрий Осипов - Delphi XE2

Настоящее издание посвящено новейшей разработке компании Embarcadero - языку Delphi XE2. Книга предоставляет читателю не только полное описание одного из с...

23 05 2020 21:49:38

Web Scraping в Python?

Web Scraping - это метод компьютерного программного обеспечения для извлечения информации с веб-сайтов. Этот метод в основном фокусируется на преобразовани...

22 05 2020 10:18:33

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

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

21 05 2020 16:56:52

Как сохранить изображение экрана компьютера в файле в C#

Вы можете сохранить изображение экрана компьютера с помощью метода CopyFromScreen объекта Graphics. Следующий метод GetScreenImage использует CopyFromScree...

20 05 2020 19:30:53

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

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

19 05 2020 14:37:11

Базовые типы данных Java

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

18 05 2020 18:49:53

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

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

17 05 2020 10:13:50

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

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

16 05 2020 1:56:14

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

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

15 05 2020 8:48:39

Как сделать джойстик для Android и IOS в Unity 5

В этом уроке мы разберем, как релизовать джойстик в Unity 5 при помощи UI, работающий на всех платформах, включая Android и IOS....

14 05 2020 9:46:29

Удалить вкладки из WPF TabControl во время выполнения в C#

Пример Добавить вкладки в WPF TabControl во время выполнения в C# показывает, как вы можете добавлять вкладки в элемент управления во время выполнения. Вы...

13 05 2020 16:15:25

Delphi 6. Учебный курс (В. В. Фаронов)

В книге "Delphi 6. Учебный курс" даются начальные сведения по системе программирования Delphi, разработанной американской корпорацией Borland International...

12 05 2020 15:21:50

Hello World! Занимательное программирование ( Картер Сэнд, Уоррен Сэнд )

Привет! Любишь компьютерные игрушки? А хочешь попробовать написать что-нибудь сам? Представь, как зауважают тебя друзья, когда ты покажешь им игру своей со...

11 05 2020 14:10:22

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

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

10 05 2020 9:33:53

Что такое __init__.py для Python?

Python обеспечивает очень простую систему упаковки, которая представляет собой просто расширение механизма модуля в каталог. Любая директория с файлом __in...

09 05 2020 20:17:40

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

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

08 05 2020 11:22:27

Как использовать тернарный оператор в Java?

Java-тернарный оператор является единственным условным оператором, который принимает три операнда. Это условный оператор, который обеспечивает более коротк...

07 05 2020 22:40:37

В чем разница между JDK и JRE?

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

06 05 2020 10:13:46

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

Пример Найти круги, которые касаются трех заданных кругов (проблема Аполлония) в C# , показывают, как найти до восьми кругов, которые касаются трех заданны...

05 05 2020 7:34:57

Метод time.sleep() в Python

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

04 05 2020 11:20:37

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

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

03 05 2020 11:39:31

Данные графика со стандартными диапазонами отклонения в C#

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

02 05 2020 11:18:42

Как использовать глобальную переменную в модулях python

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

01 05 2020 9:47:31

Как сделать сохранения в Unity 5 при помощи Newtonsoft.Json

В этом уроке мы разберем как сделать сохранения в Unity 5 при помощи библиотеки Newtonsoft.Json и разберем некоторые её свойства....

30 04 2020 5:19:34

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

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

29 04 2020 23:49:35

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

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

28 04 2020 17:44:17

Класс Java Scanner

Класс Java Scanner - это класс в пакете Java.util, который позволяет пользователю считывать значения различных типов. Это простой текстовый сканер, который...

27 04 2020 22:48:22

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

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