Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2010, 04:39   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Здравствуйте.
Проблемка в следующем рисую примоугольник вот так
Код:
form1.Canvas.MoveTo(8,8);
   form1.Canvas.LineTo(8,150);
   form1.Canvas.MoveTo(8,150);
   form1.Canvas.LineTo(240,150);
   form1.Canvas.MoveTo(240,150);
   form1.Canvas.LineTo(240,8);
////////////////////////////////////////////////////////////////////////////////
   for x := 9 to 239 do
      for y:= 9 to 149 do
          form1.Canvas.Pixels[x,y]:=clwhite;
после чего пишу в него текст следующим образом
Код:
 form1.Canvas.Pen.Color:=clblack;
 form1.Canvas.TextOut(15,30+k,shog[i]);
но вокруг буквы получается серый квадрат как можно избежать.

Цитата:
Сообщение от Lokos Посмотреть сообщение
Здравствуйте.
Проблемка в следующем рисую примоугольник вот так
Код:
form1.Canvas.MoveTo(8,8);
   form1.Canvas.LineTo(8,150);
   form1.Canvas.MoveTo(8,150);
   form1.Canvas.LineTo(240,150);
   form1.Canvas.MoveTo(240,150);
   form1.Canvas.LineTo(240,8);
////////////////////////////////////////////////////////////////////////////////
   for x := 9 to 239 do
      for y:= 9 to 149 do
          form1.Canvas.Pixels[x,y]:=clwhite;
после чего пишу в него текст следующим образом
Код:
 form1.Canvas.Pen.Color:=clblack;
 form1.Canvas.TextOut(15,30+k,shog[i]);
но вокруг буквы получается серый квадрат как можно избежать.
Попытался исправить так, поставил отрисовку квадрата после отрисовки текста и добавил условие
Код:
for x := 9 to 239 do
      for y:= 9 to 149 do
         if form1.Canvas.Pixels[x,y]<>clblack then
          form1.Canvas.Pixels[x,y]:=clwhite;
в итоге часть буквы закрашивается. И все жутко тупит

Последний раз редактировалось artemavd; 27.08.2010 в 05:08.
Lokos вне форума Ответить с цитированием
Старый 27.08.2010, 08:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но вокруг буквы получается серый квадрат как можно избежать.
Дай ка я тебя гут-манерам поучу )
Обрати внимание на основные моменты.
Код:
 with form1.Canvas do begin
   Rectangle(8,8,240,150);
   for x := 9 to 239 do
      for y:= 9 to 149 do
          Pixels[x,y]:=clwhite;
    brush.Style:=bsClear;
    Pen.Color:=clblack;
    TextOut(15,30+k,shog[i]);
  end;
ато у тебя кода много а толку... маловато будет
Цитата:
form1.Canvas.LineTo(8,150);
form1.Canvas.MoveTo(8,150);
Вообще-то для рисования прямоугольника есть метод rectangle
Хотя раз ты рисуешь примоугольник... Конечно ты прав этот метод тебе не подойдет )))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TextOut и DrawText Claster Помощь студентам 3 29.03.2010 18:59
Delphi. Печать. Не работает Printer.Canvas.TextOut Alexander Karpenko Общие вопросы Delphi 4 02.03.2010 23:39
Свой шрифт в TextOut apromix Общие вопросы Delphi 1 17.01.2010 16:34
TextOut xzDelphi Помощь студентам 9 23.10.2007 12:29
Image1.canvas.textout. Координаты символов Alar Компоненты Delphi 0 29.10.2006 22:04