C #: создание графической заставки - PullRequest
1 голос
/ 08 июня 2009

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

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

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

В любом случае, я хотел бы сделать лучше. Но не уверен, с чего начать. Является ли WPF хорошим решением для этого? Или я должен смотреть на DirectX или OpenGL? Это что-то, с чем можно хорошо справиться с XNA, или это слишком специфично для игры?

Ответы [ 6 ]

1 голос
/ 07 декабря 2012

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

1 голос
/ 30 сентября 2009

Несколько недель назад я написал статью, состоящую из двух частей, в которой описывается, как создать заставку Windows с GDI + . Я не показываю слайд-шоу в моей заставке, но вместо этого я рисую фигуры в случайном порядке. Однако я объяснил основы создания экранной заставки для Windows, которая может быть полезна, если вы никогда ранее не создавали экранную заставку.

1 голос
/ 08 июня 2009

WPF неплохая идея. Он использует преимущества DirectX и аппаратного ускорения для своих анимаций и эффектов.

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

Взгляните на baby smash от hanselman (полноэкранное wpf-приложение с анимацией), чтобы понять, что вы можете делать с wpf.

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

1 голос
/ 08 июня 2009

На самом деле XNA работает довольно хорошо. Например: this (расширенный) пример того, что можно сделать с помощью XNA. Сообщество весьма полезно, и у XNA большой потенциал.

1 голос
/ 08 июня 2009

Полагаю, XNA работает хорошо. Кстати, в C # Express есть примерная заставка.

0 голосов
/ 08 июня 2009

Недавно я закончил со своей первой заставкой WPF (я хотел посмотреть, как это можно сделать с WPF). Вы можете проверить это на YouTube . Попробуй посмотреть HD-версию.

Хотя я никогда не пробовал XNA, я действительно доволен WPF. Легко и гибко. Но я думаю, вы, вероятно, не получите XNA-представление (или я здесь не прав?).

Для начала вы можете использовать Google для GDI + или WPF ScreenSaver-шаблоны.

...