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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2010, 13:23   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
Восклицание Отрисовка текста в цикле

Как сделать цикл отрисовки текста в определенном месте в цикле на Image? Алгоритм такой:
1. Из папки грузится картинка в Image;
2. Рисуется прямоугольник белый;
3. В StringGrid-e храняться значения (номера), которые в цикле по очереди должны браться и заносится в Edit и из него уже должен отрисовываться текст;
4. Текст из Edit наносится внутрь прямоугольника;
5. Картинка сохраняется и данный цикл повторяется до тех пор пока не будет этоже проделано с остальными картинками, которые в папке, т.е. каждое новое значение из Edit рисуется на новой картинке, загруженной в Image;

Вот код отрисовки вышенаписанного алгоритма для одного значения:
Код:
procedure TForm1.BtnPlugInsClick(Sender: TObject);
begin
//отрисовка прямоуголника
 Form1.Image2.Canvas.Font.Color:=clWhite;
 Form1.Image2.Canvas.Brush.Color:=clWhite;
 Form1.Image2.Canvas.Rectangle(550,200,1000,90);

//вывод текста со значением, взятым из Edit6
 Form1.Image2.Canvas.Font.Color:=clBlack;
 Form1.Image2.Canvas.Font.Size:=50;
 Form1.Image2.Canvas.Font.Name:='Verdana';
 Form1.Image2.Picture.Bitmap.Canvas.TextOut(600,100,Form1.Edit6.Text);

//сохранение картинки с именем в Edit6 + TIFF формат
 Form1.Image2.Picture.SaveToFile(Form1.Edit6.Text + '.TIFF');
end;
нужно как-то это превратить в цикл. С этим прошу вас помочь мне...
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 20.09.2010 в 13:25.
artemavd вне форума Ответить с цитированием
Старый 20.09.2010, 13:30   #2
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

А зачем нужен Edit. Если номера хранятся в StringGrid'e, то берите их сразу оттуда.
Sibedir вне форума Ответить с цитированием
Старый 20.09.2010, 13:33   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Как? Просто из Edit это значение еще в качестве имени файла берется.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 20.09.2010, 13:33   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Задача: пронумеровать изображения, дорисовав номер на канве каждого изображения?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.09.2010, 13:40   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Да, Виталий, так. Числовые значения будут браться из StringGrid.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 20.09.2010, 13:40   #6
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
Просто из Edit это значение еще в качестве имени файла берется
Гнусным голосом бабушки Ревы: Ну не поня-а-атно же.

Чем
Код:
var
  s: string;
не годится, если уж на то пошло.

Последний раз редактировалось Sibedir; 20.09.2010 в 13:43.
Sibedir вне форума Ответить с цитированием
Старый 20.09.2010, 13:42   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Sibedir, глянь пост №4. Stilet, все верно понял.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 20.09.2010, 13:48   #8
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Да я тож это понял. Просто странным эта ваша фишка с эдитом показалась. Да Бог с ним с эдитом.

Вы не можите найти все файлы в папке и ли не можете свой код в цикл запихать?
Sibedir вне форума Ответить с цитированием
Старый 20.09.2010, 13:51   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Свой код не могу в цикл запихать. Нужно, чтобы все было в цикле: и загрузка картинки в Image, и отрисовка текста, и сохранение.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 20.09.2010, 13:53   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
artemavd
Тогда сразу предупреждаю - откажись пока не поздно от TImage. Он сделан для просмотра прежде всего, а не для удобного редактирования изображения.
Самое лучшее что ты сделаешь так это в цикле будешь работать в TBitmap. в нем же править, и при надобности отрисовывать его на канве формы.
Image для этого ой как мало подходит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отрисовка updown edik Компоненты Delphi 0 27.12.2009 12:39
Присвоение текста в цикле AvaMight Общие вопросы Delphi 2 16.06.2009 01:23
отрисовка локации Juffin Общие вопросы Delphi 4 21.04.2009 14:26
Отрисовка компонентов Dr.Badnezz Компоненты Delphi 1 04.01.2009 16:50
Отрисовка CheckListBox. NikLik Компоненты Delphi 0 21.09.2008 21:58