|
Программирование >> Автоматически обновляемые приложения
f Листинг 7.24. Сохранение изображения из буфера обмена в файл private void butSaveJPG Click(object sender, EventArgs e) { IDataObject oDataOjb = System.Windows.Forms.Clipboard.GetDataObject(); if (oDataOjb. GetDataPresent (System. Windows . Forms . DataFormats . Bitmap) ) { Image olmgOjb = (Image)oDataOjb.GetData(DataFormats.Bitmap,true); Сохраняем в файл типа JPG olmgOjb. Save ((3 с: \test. jpg . System.Drawing.Imaging.ImageFormat.Jpeg); Для проверки работы примера запустите созданное приложение. Затем нажмите на клавишу <Print Screen> на вашей клавиатуре, чтобы скопировать изображение вашего экрана в буфер обмена. Далее нажмите на кнопку в программе, чтобы сохранить это изображение в файл. В результате ваших действий на диске С: должен появиться файл test.jpg, содержащий картинку вашего экрана. Кстати, еще раз подивитесь, как легко стало сохранять графические файлы в популярных графических форматах при помощи .NET Framework. Примечание Пример с буфером обмена находится в папке ClipBoard на прилагаемом диске. Шрифты и печать Получение списка установленных шрифтов Чтобы получить список установленных в системе шрифтов, можно воспользоваться классом instaiiedFontCoiiection, который ВХОДИТ В пространство имен System.Drawing.Text. В примере (ЛИСТИНГ 7.25) мы проходим через все установленные шрифты и выводим их названия, используя объекты Label, пример сохранения изображения, хранящегося в буфере обмена, в файл формата JPG (листинг 7.24). истинг 7.25ь Получение списка установленных шрифтов using System.Drawing.Text; private void Forml Load(object sender, EventArgs e) { Создаем коллекцию шрифтов using (InstalledFontCollection fontFamilies = new InstalledFontCollection0) int offset = 10; Проходим через все шрифты foreach (FontFamily family in fontFamilies.Families) { Создаем метку, которая будет отображать текст с выбранным шрифтом Label IblFont = new Label(); IblFont.Text = family.Name; IblFont.Font = new Font(family, 14); IblFont.Left = 10; IblFont.Top = offset; Добавляем Label на форму this.Controls.Add(IblFont); offset += 35; catch Если выбранный шрифт не имеет стиль Обычный (используется по умолчанию при создании объекта Font) то может возникнуть ошибка. Игнорируем эту ошибку при помощи конструкции try-catch которые динамически создаются при получении информации о новом обнаруженном шрифте. Для удобства я присвоил свойству формы AutoScroii значение True, так как шрифтов в системе, как правило, очень много, и они не поместятся на маленькой форме. Листинг 7.26. Использование собственных шрифтов в приложениях private void buttonl Click(object sender, EventArgs e) { PointF pointF = new PointF(310, 30); SolidBrush SolidBrush = new SolidBrush(Color.Black); int count = 0; string familyName = ; FontFamily[] fontFamilies; PrivateFontCoiiection privateFontCollection = new PrivateFontCoiiection(); Добавим свой шрифт в приложение. Используйте свой путь к файлу шрифта PrivateFontCoiiection.AddFontFile(Application.StartupPath + \\ + pussyfoo.ttf ); Получим массив объектов FontFamily fontFamilies = privateFontCollection.Families; Использование собственных шрифтов Если вы хотите использовать в своем приложении нестандартный шрифт, то возрастает вероятность отсутствия такого шрифта у конечного пользователя. Вы можете предложить пользователю установить недостающий шрифт самостоятельно или самому позаботиться об этом. Но гораздо удобнее использовать временную установку шрифтов, которые будут использоваться только при запуске вашего приложения. Для этой операции в .NET Framework имеется класс PrivateFontCoiiection, который МОЖНО использовать для установки шрифтов, отсутствующих в операционной системе. В этом случае выполняется временная установка, не влияющая на коллекцию шрифтов, установленных в операционной системе. Иными словами, вы динамически добавляете шрифт в программу, не засоряя систему пользователя еще одним набором шрифтов (листинг 7.26). В этом примере я положил рядом с исполняемым файлом шрифт pussyfoot.ttf, который содержит силуэты кошек (рис. 7.7). В случае необходимости измените в исходном коде путь к вашему шрифту.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |