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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.08.2008, 18:44
Аватар для FaRCReT
FaRCReT FaRCReT вне форума
Прохожий
 
Регистрация: 30.07.2008
Адрес: Челябинск
Сообщения: 4
Репутация: 10
По умолчанию Как сделать чтоб текст двигался на Image В нужном мне направлении

Как сделать чтоб текст двигался на Image В нужном мне направлении
Я хочу чтобы у меня на Image Был текст (Белый) и двигался вправо
Помогите Пожалуйста!!! Очень надо!!!
Ответить с цитированием
  #2  
Старый 07.08.2008, 21:45
Аватар для }{ОТТ@БЫЧ
}{ОТТ@БЫЧ }{ОТТ@БЫЧ вне форума
Прохожий
 
Регистрация: 07.05.2008
Сообщения: 41
Репутация: 10
По умолчанию

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.Top:=Image1.Top+10;
Image1.Left:=Image1.Left+10;
end;
будет двигаться по диоганали.
Принцип думаю понял =)
Ответить с цитированием
  #3  
Старый 08.08.2008, 01:24
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Если я правильно понял, то тебе надо поверх картинки двигать свой текст. Вариант действий такой:
1. Грузишь картинку в TImage и в буферный TBitmap (например).
2. Копируешь буфер в TImage и отрисовываешь на буфере текст в нужной позиции.
3. Меняешь координаты позиции и переходишь к шагу 2.

Можно использовать TPaintBox для вывода и буфер для картинки.
Ответить с цитированием
  #4  
Старый 08.08.2008, 12:03
Аватар для FaRCReT
FaRCReT FaRCReT вне форума
Прохожий
 
Регистрация: 30.07.2008
Адрес: Челябинск
Сообщения: 4
Репутация: 10
Вопрос

Не вы меня не поняли я имел введу я пишу
Form1.Image1.Canvas.Brush.Color:=clBlack;
Form1.Image1.Canvas.Rectangle(0,0,180,180);
Form1.Image1.Canvas.Brush.Color:=clRed;
Form1.Image1.Canvas.TextOut(x,y,text);
где:
x := x+1;
y := 10;
Text := '';
1) Как сделать цвет текста ни черным а белым!
2)И Двигать его вправо!
Воть и все это на одном Image
Ответить с цитированием
  #5  
Старый 08.08.2008, 13:06
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Понял правильно. Это ты не понял что я написал.

Текст белым - Form1.Image1.Canvas.Font.Color := clWhite;
Что бы двигался -выводи в цикле. Попростому

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  I : Integer;
begin
  Image1.Canvas.Font.Color := clWhite;
  For I := 10 To 100 Do
    Begin
      Image1.Refresh;
      Image1.Canvas.TextOut(I,50,'fff');
      Sleep(100);
    End;
end;

Правда такой фокус пройдет только если у тебя загружен битмап.
Ответить с цитированием
  #6  
Старый 08.08.2008, 18:20
Аватар для FaRCReT
FaRCReT FaRCReT вне форума
Прохожий
 
Регистрация: 30.07.2008
Адрес: Челябинск
Сообщения: 4
Репутация: 10
По умолчанию

Не пашет а за цвет текста спасибо!
Ответить с цитированием
  #7  
Старый 08.08.2008, 18:27
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Читай внимательно. Это будет работать только если в Image загружен битмап. Если у тебя там другой формат, то надо делать через буфер, как я писал ранее.
Ответить с цитированием
  #8  
Старый 10.08.2008, 01:20
Аватар для Vex_TH
Vex_TH Vex_TH вне форума
Прохожий
 
Регистрация: 31.07.2008
Сообщения: 5
Репутация: 10
По умолчанию

Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
const text = 'Текст Текст Текст';
var
 n : integer;  // для цикла
 buf, textimg : Tbitmap;   // два временных изображения
begin
 buf := Tbitmap.Create;
 textimg := Tbitmap.Create;
// Создание изображения текста
 with textimg do
  begin
   canvas.Font.Color := ClWhite;
   Canvas.Font.Size := 12;
   Width := textimg.Canvas.TextWidth(text) + 4;
   Height := textimg.canvas.textheight(text) + 4;
   Canvas.Brush.Color := RGB(120,120,120);
   canvas.fillrect(rect(0,0,textimg.Width, textimg.Height));
   Canvas.TextOut(2,2, text);
   Transparent := true;
  end;
 // Теперь в цикле меняем координаты текста и вывводим его
 for n := 0 to image1.Width do
  begin
   image1.Refresh;
   buf.LoadFromFile('bitmap.bmp'); // здесь указать путь до картинки, загруженной в TImage
   buf.Canvas.draw(n, 50, textimg);
   image1.picture.Bitmap.canvas.Draw(0,0, buf);
   sleep(10);
  end;
 buf.Free;
 textimg.free;
end;

Последний раз редактировалось Vex_TH, 10.08.2008 в 01:25.
Ответить с цитированием
  #9  
Старый 10.08.2008, 09:56
Аватар для FaRCReT
FaRCReT FaRCReT вне форума
Прохожий
 
Регистрация: 30.07.2008
Адрес: Челябинск
Сообщения: 4
Репутация: 10
Радость

Понятно! Спасибо!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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