Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.08.2013, 13:27
xslibris xslibris вне форума
Прохожий
 
Регистрация: 05.08.2013
Сообщения: 6
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Разница в отображении Canvas.Font.Size

Добрый день!
Подскажите пожалуйста как правильнее будет решить проблему - есть приложение, одной из функций которого является сохранение в *png информации из таблицы. В Windows 7 картинка выглядит нормально, а в Windows XP такое ощущение будто размер шрифта увеличен минимум на 2 раза, из-за чего текст начинает перекрывать другие элементы изображения.
Изображения
Тип файла: png Windows 7.png (23.0 Кбайт, 12 просмотров)
Тип файла: png Windows XP.png (27.4 Кбайт, 12 просмотров)
Ответить с цитированием
  #2  
Старый 05.08.2013, 14:03
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

а как текст в изображение выводится?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 05.08.2013, 14:33
xslibris xslibris вне форума
Прохожий
 
Регистрация: 05.08.2013
Сообщения: 6
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Текст вывожу с помошью Canvas.TextOut
Код:
 img.Canvas.TextOut(585,430,'Долг/');
 img.Canvas.TextOut(580,450,'Переплата');
Ответить с цитированием
  #4  
Старый 05.08.2013, 14:47
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

лучше выложи минимальный проект, так быстрее будет...
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 05.08.2013, 14:55
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Т.е. вы не указываете конкретный шрифт и его параметры при выводе на канву? Может имеет смысл сделать это?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 05.08.2013, 15:27
xslibris xslibris вне форума
Прохожий
 
Регистрация: 05.08.2013
Сообщения: 6
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Простите за 'простыню' -
Код:
var
  img:TBitmap;
  sohr:string;
  png:TPngObject;
begin
 sohr:='отчёты\'+TntDBGrid1.fields[2].asstring+'.png';
 img:=TBitmap.Create;
 img.Height:=600;
 img.Width:=800;
 img.Transparent := False;
 img.Canvas.Brush.Color := clWhite;
 ...
//Нижняя таблица
 img.Canvas.MoveTo(30,390);
 img.Canvas.LineTo(750,390);
 img.Canvas.MoveTo(30,510);
 img.Canvas.LineTo(750,510);
 ...
 img.Canvas.MoveTo(675,390);
 img.Canvas.LineTo(675,510);
 img.Canvas.MoveTo(750,390);
 img.Canvas.LineTo(750,510);
 ...
 //Текст нижней части
 img.Canvas.Font.Size := 11;
 img.Canvas.Font.Style := [fsBold];
 img.Canvas.TextOut(30,305,'ТОО "Тұрғын үй жөндеу - Қаратау" РНН:211000211973.');
 img.Canvas.TextOut(500,305,'ИИК: KZ946010161000159806');
 img.Canvas.TextOut(30,325,'"Народный Банк Казахстана". БИК:HSBKKZKX');
 img.Canvas.TextOut(30,345,'Плательщик: '+TntDBGrid1.fields[2].asstring);
 img.Canvas.TextOut(30,365,'Адрес: '+TntDBGrid1.fields[1].asstring);
 ... 
 img.Canvas.TextOut(680,450,'К оплате');
 img.Canvas.TextOut(680,490, TntDBGrid1.Fields[4].asstring+' тг.');
 img.Canvas.Font.Style:=[];
 img.Canvas.Font.Size:=10;
 img.Canvas.TextOut(30,520,'Просим Вас оплатить задолжность в течении 10 дней.');
 img.Canvas.TextOut(30,540,'Оплата счёта производится через кассу АО "Казпочта" г. Каратау.');
 img.Canvas.TextOut(30,560,'По общим вопросам обращаться: ТОО "Тұрғын үй жөндеу - Қаратау" г. Каратау ул. Шейна №47');
 png:=TpngObject.Create;
 png.Assign(img);
 png.SaveToFile(sohr);
 img.Free;
 png.Free;
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:10.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025