0 / 0 / 0
Регистрация: 22.06.2014
Сообщений: 8

Создать бегущую строку

26.06.2014, 19:49. Показов 10884. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Векторная графика
Создать бегущую строку. Данная программа должна передавать изображение на канву, и плавно перемещать это изображение, чтобы создать эффект бегущей строки.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.06.2014, 19:49
Ответы с готовыми решениями:

Сделать бегущую на экране строку
сделать бегущую на экране строку...

Реализовать бегущую строку, которая через определенный интервал времени изменяет направление движения
Реализовать бегущую строку, которая через определенный интервал времени изменяет направление движения

Создать бегущую строку
Написать программу которая изображает ''бегущую строку''!!!

8
 Аватар для newyork7776
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
26.06.2014, 22:12
вот написал немного
Кликните здесь для просмотра всего текста
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    String1: TMenuItem;
    Run1: TMenuItem;
    Exit1: TMenuItem;
    Timer1: TTimer;
    procedure String1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure Run1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var Form1: TForm1;
    str : string;
    q:Boolean;
    x,y:integer;
implementation
 
{$R *.dfm}
 
procedure TForm1.Exit1Click(Sender: TObject);
begin
 Close;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 q:=false;
end;
 
procedure TForm1.Run1Click(Sender: TObject);
begin
 if (q) then
  begin
  x:=Form1.Width;
  y:=15;
  Timer1.Enabled:=true;
  end
 else
  begin
    MessageBox(Handle,'String is empty.','System',0);
  end;
end;
 
procedure TForm1.String1Click(Sender: TObject);
begin
  str := InputBox('System','String','');
  q:=true;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Canvas.TextOut(x,y,str);
  dec(x);
end;
 
end.

нужно более красиво делать =)
0
26.06.2014, 22:28

Не по теме:

Цитата Сообщение от newyork7776 Посмотреть сообщение
нужно более красиво делать
Прежде чем делать нужно более внимательно читать)
Сказано же "з векторною", а не "з растровою")

0
0 / 0 / 0
Регистрация: 22.06.2014
Сообщений: 8
26.06.2014, 22:51  [ТС]
а что тогда нада??))какая там именно строчка???
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
27.06.2014, 03:58
Цитата Сообщение от Poreshal Посмотреть сообщение
Создать бегущую строку. Данная программа должна передавать изображение на канву, и плавно перемещать это изображение, чтобы создать эффект бегущей строки.
TRxSecretPanel. Ищется в гугле/яндексе на раз-два.
Ну или TJvSecretPanel. Это более современно, но не уверен что сей компонент именно так называется и вообще существует.
Это правда не эффект "бегущей строки", но пособие для создания такого эффекта.
0
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
27.06.2014, 09:19
Давно поднимался подобный вопрос. Поиском форума пользовались?
В той теме были несколько вариантов, один из них на канве используя полигоны(polygon)
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
27.06.2014, 20:05
Ну вот тебе накидал пару вариантов если строка из текста у тебя будет, то будет примерно как на картинке:

Вариант 1:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Form1.Refresh; //избавимся от следа канвы
  Canvas.Font.Size := 24; //размер
  Canvas.Font.Style := [fsItalic]; //начертание
  Canvas.Font.Color := clGreen; //цвет
  Canvas.TextOut(i, 10, 'Большая наклонная зеленая канва');
  inc(i, -5); //двигаю влево
  if i < -500 then //это я подобрал наугад
    //появляю строчку слева то есть i= левый край формы
    i := Form1.ClientWidth;
end;
Вариант 2:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Timer2Timer(Sender: TObject);
var
  Rct: TRect;
begin
  Canvas.Font.Size := 16; //размер
  Canvas.Font.Style := [fsItalic]; //начертание
  Canvas.Font.Color := clLime; //цвет
  Canvas.Brush.Color := clBlack; //заливка
 
  //рамка где вывести текст, лишнее обрежется
  Rct.Left := 0; //начало экрана
  Rct.Top := 10;
  Rct.Right := Form1.Width; //вся ширина
  Rct.Bottom := 40;
  Form1.Canvas.TextRect(Rct, n, 10, Edit1.Text);
  Dec(n, 5); //инкримент но назад с шагом
  if n = -400 then //здесь лучше момент высчитать когда текст уже скроется
    n := 400; //место где появить текст
end;
Миниатюры
Создать бегущую строку  
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
27.06.2014, 20:22
Первый метод Canvas.TextOut
Второй метод Canvas.TextRect чуть сложнее но красивее выводит в рамке, ну ты понял наверно и так уже.

Хотя можно еще и 3 вариант графический создать, это из jpg или bmp загружать в имагу файл или даже просто как канву на форму и двигать его в нужную сторону создавая тот же эффект бегущей строки.

Да ты там переменные еще i, n незабудь глобально объявить.
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
27.06.2014, 20:28
Еще вариант:
Определение ширины видимого текста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2014, 20:28
Помогаю со студенческими работами здесь

Нужно создать такую бегущую строку
Нужно сделать бегущую строку! Ну и конечно все не так просто. Нужно что бы эта строка еще двигалась волной! То есть отдельные символы то...

Создать бегущую строку по периметру в паскале
Создать бегущую строку по периметру в паскале.

С помощью таймера создать бегущую строку длиной в 4 символа
С помощью таймера создать бегущую строку длиной в 4 символа, сдвигающуюся 1 раз в секунду в текстовом поле 20 символов. Значение строки -...

Создать бегущую строку с изменением положения на экране верх - низ по нажатию клавиши F8
Помогите создать программу бегущую строку с добавлением обработки клавишей F8, по нажатию которой строка будет менять положение на экране...

Создать клавиатуру 4*4 в Proteuse (Atmega8). На 4-розрядном семисегментном индикаторе сделать бегущую строку
Нужно создать клавиатуру 4*4 в Proteuse (Atmega8). На 4-розрядном семисегментном индикаторе сделать бегущую строку- справа налево (если...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru