Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
1
RAD 2009-XE2

Шрифт в GDI+

10.12.2019, 19:23. Показов 2335. Ответов 3

Author24 — интернет-сервис помощи студентам
Не могу допендрить как установить жирный шрифт через GDI+
Delphi
1
2
3
Font: IGPFont;
FontFamily := TGPFontFamily.Create('Times New Roman');
Font := TGPFont.Create(FontFamily, 14, FontStyleBold, UnitPixel); // There is no overloaded version of 'Create' that can be called with these arguments
Исходники
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
constructor TGPFont.Create(const Family: IGPFontFamily; const EmSize: Single;
  const Style: TGPFontStyle; const MeasureUnit: TGPUnit);
begin
  inherited Create;
  GdipCheck(GdipCreateFont(GdipHandle(Family), EmSize, Style, MeasureUnit, FNativeHandle))
end;
 
constructor TGPFont.Create(const FamilyName: String; const EmSize: Single;
  const Style: TGPFontStyle; const MeasureUnit: TGPUnit;
  const FontCollection: IGPFontCollection);
var
  Family: IGPFontFamily;
  NativeFamily: GpFontFamily;
begin
  inherited Create;
  try
    Family := TGPFontFamily.Create(FamilyName, FontCollection);
    NativeFamily := Family.NativeHandle;
  except
    NativeFamily := TGPFontFamily.GenericSansSerif.NativeHandle;
  end;
  GdipCheck(GdipCreateFont(NativeFamily, EmSize, Style, MeasureUnit, FNativeHandle))
end;
 
type
  TGPFontStyleEntry = (
    FontStyleBold      = 0,
    FontStyleItalic    = 1,
    FontStyleUnderline = 2,
    FontStyleStrikeout = 3,
    FontStyleReserved  = 31);
 
  TGPFontStyle = set of TGPFontStyleEntry;
 
const
  FontStyleRegular = [];
  FontStyleBoldItalic = [FontStyleBold, FontStyleItalic];
Спс.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2019, 19:23
Ответы с готовыми решениями:

Нечитабельный шрифт из отрисовки под GDI
Отрисовываю надписи под GDI: (вырезал только нужные куски кода) Font drawFont = new...

Есть ли в WPF полноценная замена GDI+? Чтобы можно было всё, что можно в GDI+? Просто думаю углубляться в работу с изображениями в WPF или GDI.
Ну собственно весь вопрос в заголовке темы.

Как в консоли автоматически выбрать шрифт Lucida Console, а не точечный шрифт?
Например №36 (размер шрифта 22х36).

Шрифт собственной страницы отличается от шрифта сайта, не смотря на то,что шрифт указан одинаково в обеих страницах
Сверстал страницу по образцу данного сайта https://www.biglion.ru/deals/pivnoy-restoran-set9-50/. Я...

3
884 / 586 / 179
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
10.12.2019, 21:24 2
Какого типа FontFamily? Может ему надо 14.0?
Какой точно у вас модуль GDI+? Какой версии, какого разработчика и где вы его брали?
0
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
10.12.2019, 22:44  [ТС] 3
Цитата Сообщение от GoodWeather Посмотреть сообщение
Какого типа FontFamily?
Эт где смотреть?
Цитата Сообщение от GoodWeather Посмотреть сообщение
Может ему надо 14.0?
Что имеется в виду? У мну Delphi 2010 (14.0).
Цитата Сообщение от GoodWeather Посмотреть сообщение
акой точно у вас модуль GDI+? Какой версии, какого разработчика и где вы его брали?
Delphi
1
2
3
4
5
6
7
8
unit GdiPlus;
 
{ Delphi GDI+ Library for use with Delphi 2009 or later.
  Copyright (C) 2009 by Erik van Bilsen.
  Email: erik@bilsen.com
  Website: www.bilsen.com/gdiplus
...
Version 1.2
Вообще варианты
Delphi
1
2
Font := TGPFont.Create(FontFamily, 14, FontStyleRegular, UnitPixel);
Font := TGPFont.Create(FontFamily, 14, FontStyleBoldItalic, UnitPixel);
отрабатывают нормально. Вероятно берутся отсюда
c
Delphi
1
2
3
onst
  FontStyleRegular = [];
  FontStyleBoldItalic = [FontStyleBold, FontStyleItalic];
Но как обратиться внутрь константы FontStyleBoldItalic, а именно к FontStyleBold?
Вложения
Тип файла: zip Lib.zip (268.4 Кб, 4 просмотров)
0
884 / 586 / 179
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
10.12.2019, 22:59 4
Лучший ответ Сообщение было отмечено UnityMan как решение

Решение

а... Теперь понятно. Третий параметр это set of, его нужно писать в квадратных скобках через запятую.
Delphi
1
Font := TGPFont.Create(FontFamily, 14, [FontStyleBold], UnitPixel);
Добавлено через 6 минут
Delphi
1
Font := TGPFont.Create(FontFamily, 14, [FontStyleItalic], UnitPixel);
Delphi
1
Font := TGPFont.Create(FontFamily, 14, [FontStyleBold, FontStyleItalic, FontStyleUnderline, FontStyleStrikeout], UnitPixel);
1
10.12.2019, 22:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2019, 22:59
Помогаю со студенческими работами здесь

Шрифт. как интегрировать нестандартный шрифт в БД?
Скажите пожалуйста, можно ли как-то интегрировать нестандартный шрифт в базу данных?

8x8 стандартныый растровый шрифт что это? Это значит шрифт Lucida 8 pt?
Пишу программку но не могу разобраться с этим понятием

GDI
Ребята, привет. Не знаю, с чего начать. Нужен примерчик использования интерфейса графического...

GDI+
Почему не происходит отрисовка примитивов? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru