Рейтинг
+1.14
голосов:
1
avatar

Разработка на .NET CF  

Рисование Красивых линий в Windows Mobile на C#

Здесь я приведу пример кода для рисования при помощи GDI+ для Windows Mobile. Хороший человек Алекс Фейнман представил замечательную библиотеку OpenNETCF.GDIPlus для рисования очень красивых линий с использованием разнообразных кистей и заливок. Библиотека доступна с исходным кодом и позволяет делать удивительные вещи, самыми полезными (на мой взгляд) из которых являются возможность рисования прозрачных объектов (Transparent) и сглаживания краёв и объектов, что делает линии значительно более привлекательными.

Итак пример кода:

( Читать дальше )

Рисуем изображение с прозрачным фоном и заставляем его перемещаться в NET CF.

Довольно долго я всевозможными способами пробовал вывести изображения с прозрачным фоном (например картинку формата png) в .NET CF на Windows Mobile устройствах. Но всё получалось либо медленно и некрасиво, либо очень сложно. А нужен был метод позволяющий делать это просто быстро и качественно. И вот недавно наткнулся на чудесный набор библиотек OpenNETCF Smart Device Framework (думаю о нём я ещё не раз напишу — в нём ну очень много полезных и нужных вещей). В этом наборе имеется библиотека OpenNNETCF.Drawing.dll — предназначенная для работы с изображениями с использованием GDI+. Вот она то мне и помогла сделать то что так давно хотелось.


( Читать дальше )

Включение виброзвонка в Windows Mobile на C#

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

Здесь я приведу три метода реализации виброзвонка на устройствах Windows Mobile в среде .NET CF. Хотя, по правде говоря, все они реализованы через использование API поэтому могут быть использованы не только в .NET.


( Читать дальше )

Программная перезагрузка Мобильного устройства в NET CF.

Существует 2 вида перезагрузки для карманных компьютеров Жёсткая (Hard Reset — аппаратная перезагрузка) и Мягкая (Soft Reset — программная перезагрузка).
При Жёсткой перезагрузке устройство возвращается к заводским настройкам, делается она специфическими методами (иногда это нажатие сочетания определённых клавиш, иногда специально спрятанная кнопка). В любом случае прибегать к такому методу перезагрузке следует крайне осторожно.
При Мягкой перезагрузке все настройки и программное обеспечение на устройстве сохраняются, происходит обычная перезагрузка устройства, как на обычном компьютере. Этот вид перезагрузки используется довольно часто, когда необходимо применить новые специфические параметры либо при сбое какого либо из приложений. Здесь я приведу примеры мягкой перезагрузки устройства.


( Читать дальше )

Пишем свой компас для HTC

Однажды я обзавёлся чудесным девайсом HTC HD2, и обнаружил на нём приложение «Компас». После недолгого изучения этой маленькой но очень интересной утилитки, был сделан вывод о том, что с GPS она никак не связана а действуюет сама по себе, причём показывает направление очень точно. Так вот. С тех самых пор, как я обнаружил эту замечательную способность у аппарата, мне жуть как хотелось написать такую же программку которая будет показывать направление на стороны света, не то чтобы оно очень надо — но вот просто хочется разобраться и всё тут.
Короче, разобрался! И ниже приведу листинг библиотеки для работы с компасом (она оказалась очень простой), и листинг небольшой программки которая использует компас.


( Читать дальше )

Программно отменяем выключение КПК и подсветки в Win Mobile на C#

Наверное многие сталкивались с этой проблемой, когда написанное приложение хорошо и замечательно работает, до тех пор пока КПК не уйдёт в спящий режим. Либо когда необходимо долго не прикасаясь к экрану карманного компьютера хорошо и чётко видеть что у него на экране (в случае например если вы делаете что-то своё для навигации, а почему бы и нет) а устройство спустя секунд 20-30 выключает подсветку экрана. Вот и я столкнулся с такой проблемой и необходимостью заставить устройство не выключаться не при каких условиях, пока я этого не захочу, либо не сядут аккумуляторы.

Итак, сам класс для запрета отключения КПК и подсветки:

( Читать дальше )

Меняем ориентацию экрана в .NET CF и запускаем PUTTY

Столкнулся с большой необходимостью запускать Putty (ssh — клиент) на своём HD2. И всё замечательно, скачал, запустил, всё хорошо работает но вот ширины экрана не хватает в вертикальном положении и некоторой информации не видно. Например при выполнении команды ps -ax получалось так, что строки просто обрезались (не помещались на экран, нижнего бегунка почему-то нет и посмотреть информацию никак не получалось). Покопал интернет — ничего толком рабочего что-бы переворачивало экран для этого приложения не нашёл. В результате решил быстренько написать свою программку.

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


( Читать дальше )

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

    В этой публикации я приведу пример получения информации о заряде аккумуляторов на мобильном устройстве под управлением Windows Mobile. Данный код написан очень давно. На днях вновь понадобился.
    Для получения информации о заряде используем coredll. Получаем значения двух батареек, во многих КПК (во всяком случае промышленных, на подобии этого) используются 2 аккумулятора, один основной, другой резервный, для сохранности данных. Информацию можно получить и с того и с другого, если он конечно имеется.

Ну да хватит болтовни, к делу. Пример:

( Читать дальше )

Изменение размера изображения в C# для Win Mobile

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

Пример:
//Изменение размеров изображения
        public static Image Resize(Image image, Size size)
        {
            Image bmp = new Bitmap(size.Width, size.Height);
            using (var g = Graphics.FromImage(bmp))
            {
                g.DrawImage(
                    image,
                    new Rectangle(0, 0, size.Width, size.Height),
                    new Rectangle(0, 0, image.Width, image.Height),
                    GraphicsUnit.Pixel);
            }
            return bmp;
        }

На входе функции надо передать исходное изображение и требуемые размеры (которые хотим получить на выходе). На выходе получим необходимое изображение.

P.S.
Для работы функции необходимо подключить:
using System.Drawing.Imaging;

Как научить КПК проигрывать WAV файлы

    Мобильное устройство с поддержкой .NET CF версии 3.5 (и надеюсь и выше) можно достаточно легко научить проигрывать медиа файлы формата .WAV. С этой версии .NET CF имеет необходимый набор функций для воспроизведения звуковых файлов.

Без лишних слов, просто приведу примеры, они элементарны и очень просты.

Два примера проигрывания звукового файла:

Пример №1
System.Media.SoundPlayer player = new System.Media.SoundPlayer(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\mysound.wav");
player.Play();

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


( Читать дальше )