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

Пример функции которая изменяет размер изображения на мобильной платформе Windows 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;

Подробнее

Поворот изображения на 90 градусов в C#

    Здесь я приведу функцию поворота изображения на 90 градусов, но не отображения pictureBox под определённым углом, а именно трансформации изображения при котором на входе имеем одно изображение а на выходе абсолютно другое идентичное первому — но повёрнутое на 90 градусов.<br/>
    В функции используется тот же принцип что и в предыдущей публикации (изменяем область памяти где содержится картинка). За счёт этого скорость работы этой функции довольно высокая. 

Подробнее

Примеры изменения документов Word из C#

    В последнее время, довольно часто приходится работать с документами Word из C#. Должен сказать что это неплохой механизм для формирования несложных отчётов. Получается довольно удобно — поскольку Word часто стоит на большинстве пользовательских компьютеров и отпадает необходимость установки на клиентский компьютер дополнительных компонент, вроде Crystal Report (они хоть и хороши, но когда надо что-то совсем простенькое то возможно лучше и без них).
    Дополнительно хочется сказать о том, что если по какой либо причине на клиентской машине отсутствуют необходимые компоненты программы Word, то это остаётся практически незаметным, поскольку при первом же обращении они сами устанавливаются (что меня очень приятно удивило, но это касаемо того способа обращения к документам Word — который описан ниже).

    Ниже приведены два примера работы с документом Word. Первый иллюстрирует замену текста в документе — удобно использовать при автозаполнении договоров и подстановки нужных значений. Второй иллюстрирует заполнение таблиц — удобно использовать при создании несложных отчётов.

Подробнее

Получение фотографии с камеры КПК C#

Недавно задумался над небольшой задачей — задействовать фотокамеру в своём приложении и получить с неё фотографии. Как оказалось, это довольно просто делается.
Для этого просто необходимо добавить в проект библиотеку Microsoft.WindowsMobile.Forms.
Библиотека находится в Windows Mobile SDK — скачать его можно на сайте Microsoft.

Итак, кусочек кода реализующий фотографирование:

CameraCaptureDialog cameraCaptureDialog = new CameraCaptureDialog();
  cameraCaptureDialog.Owner = this;
  cameraCaptureDialog.Title = "Фотография";
  cameraCaptureDialog.Mode = CameraCaptureMode.Still;
  if (cameraCaptureDialog.ShowDialog() == DialogResult.OK &&
  cameraCaptureDialog.FileName.Length > 0)
  {
     pictureBox1.Image = new Bitmap(cameraCaptureDialog.FileName);
  }
Подробнее

Работа с G - Sensor (акселерометром) на HTC C#

Недавно озадачился (в связи с приобретением девайса HTC HD2) а как же в нём, взять с акселерометра данные? И вот результат трудов, маленькая библиотека для доступа к G-Сенсору в HTC (теоретически должна подходить для всех HTC с акселерометром). Разумеется всё это с исходным кодом, используйте на ваше удовольствие в своих разработках.

Подробнее

Заполнение ComboBox из DataSet C#

Собственно в чём суть дела, нет ничего проще заполнения ComboBox-а из DataSet-а.
Делается это вот так:

SqlConnection connRC = new SqlConnection(MainParams.ConStr);
string command = "SELECT     Kod, Nam FROM Produkt ORDER BY Nam";
SqlDataAdapter da = new SqlDataAdapter(command, connRC);

DataSet ds = new DataSet();
connRC.Open();
da.Fill(ds);
connRC.Close();

comboBox1.DataSource = ds.Tables[0];
comboBox1.DisplayMember = "Nam";
comboBox1.ValueMember = "Kod";


Но работает зараза при больших выборках — адски медленно!

Подробнее

DataTable , Фильтры и выбор количества записей.

Эта публикация из цикла о том, как делать не надо. А делать надо так: сначала читать MSDN затем творить, а не наоборот. И в результате проблема: «А чего это он мне 56 записей показывает? Ведь я фильтр наложил и должна быть ровно 1 запись!».

Так вот — если наложили фильтр на DataTable, то вот так вот делать нельзя:

DataTable table = new DataTable();
//Здесь - заполняем нашу таблицу чем нибудь...
table.DefaultView.RowFilter = "[поле_таблицы]=значение"; 
//Если значение символьное - то в одинарных ковычках.
int count = table.Rows.Count; 
//Узнаём сколько строк после фильтра неполучится - выдаст общее количество!
string value = table.Rows[0]["поле_таблицы"].ToString();
//Получаем значение ячейки из первой строки (тоже без фильтра сделает).
Подробнее

Чтение данных из таблиц Excel C#

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

Итак приступим:

Первым делом добавляем в наш проект (Add References...)
Microsoft.Office.Interop.Excel

Подробнее

Drag And Drop и Scroll в TreeView C#

Не так давно пришлось делать DragAndDrop для TreeView и с удивлением обнаружил что на .NET не работает сама собой прокрутка (никак не работает, как выяснилось Microsoft признаёт что есть такая проблема, и предлагают её решать способом описанным ниже).

Итак сам способ.

Вопервых импортируем функцию из user32 — SendMessage
Для этого разумеется не забываем включить в проект (using System.Runtime.InteropServices;)

[DllImport("user32.dll")]
public static extern int SendMessage(
       int hWnd,      // handle to destination window
       uint Msg,       // message
       long wParam,  // first message parameter
       long lParam   // second message parameter
       );
Подробнее

Передача параметров между формами в C#

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

Способ №1
Передача параметров, используя связь между формами. (этот метод назвал я так сам — может есть и научное название).

Подробнее