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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2010, 13:55   #11
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

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

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

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

А что в СтрингГриде хранится. Я так понимаю там не номера по порядку. Или...
Sibedir вне форума Ответить с цитированием
Старый 20.09.2010, 14:48   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например у тебя есть куча файлов в одной папке.
Тогда код
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var x,y,i:integer;b:TBitmap; sr:TSearchRec;  s:string;
begin
 b:=TBitmap.Create;
 FindFirst('C:\temp\*',faAnyFile,sr);
  FindNext(sr);
  FindNext(sr);
 with StringGrid1 do
  for i:=1 to RowCount-1 do begin
   b.LoadFromFile('C:\temp\'+sr.Name);
   x:=b.Width-b.Canvas.TextWidth(Cells[1,i]);
   y:=b.Height-b.Canvas.TextHeight('W');
   b.Canvas.TextOut(x,y,Cells[1,i]);
   b.SaveToFile('C:\temp\_'+sr.Name);
   if FindNext(sr)<>0 then break;
  end;
 b.Free;
 FindClose(sr);
end;
промаркирует графику в этих файлах как ты указал.
Идею понял?
Только учти что это для BMP
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.09.2010, 16:06   #16
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Хм...применил код. Немного переделал его:
Код:
procedure TForm1.BtnRecordClick(Sender: TObject);
var
 x,y,i:integer;
 b:TBitmap;
 sr:TSearchRec;
 s:string;
begin
 b:=TBitmap.Create;
 FindFirst('C:\Users\Àðòåì Ãëàâàöêèé\Desktop\Äèëåðû\*',faAnyFile,sr);
 FindNext(sr);
 FindNext(sr);
 with StringGrid1 do
  for i:=1 to RowCount-1 do begin
   b.LoadFromFile('C:\Users\Àðòåì Ãëàâàöêèé\Desktop\Äèëåðû\'+sr.Name);
   b.Canvas.Rectangle(550,200,1000,90);
   b.Canvas.Font.Color:=clBlack;
   b.Canvas.Font.Size:=50;
   b.Canvas.Font.Name:='Verdana';
   b.Canvas.TextOut(600,100,Cells[0,i]);
   b.SaveToFile('C:\Users\Àðòåì Ãëàâàöêèé\Desktop\Äèëåðû\_'+sr.Name);
   if FindNext(sr)<>0 then break;
  end;
 b.Free;
 FindClose(sr);
end;
Вот, разобрался почему не было текста. Не добавил просто:
Код:
   b.Canvas.Font.Color:=clBlack;
   b.Canvas.Font.Size:=50;
   b.Canvas.Font.Name:='Verdana';
Теперь рамка рисуется, текст тоже. Но, осталось имена файлов сохраненным задать, почему-то не задаются. Ну, в принципе это не было принципиально. Всем большое спасибо! . Если что, то спрошу что-нибудь у вас.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 21.09.2010 в 04:39.
artemavd вне форума Ответить с цитированием
Старый 20.09.2010, 16:17   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но надписи я не вижу.
Она там мелкая. Шрифт для канвы Битмапа увеличь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.09.2010, 05:24   #18
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Че-т у меня непонятно как код работает. Рисует начиная со второго или третьего файла. Вроде код впринципе правильный. Не работает он начиная с первого файла в папке:
Код:
procedure TForm1.BtnRecordClick(Sender: TObject);
var
 x,y,i:integer;
 b:TBitmap;
 sr:TSearchRec;
 s:string;
begin
 b:=TBitmap.Create;
 FindFirst(Form1.StatusBar3.Panels[1].Text +'*.bmp',faAnyFile,sr);
 FindNext(sr);
 FindNext(sr);
 with StringGrid1 do
  for i:=0 to RowCount-1 do begin
   b.LoadFromFile(Form1.StatusBar3.Panels[1].Text + sr.Name);
   b.Canvas.Rectangle(90,200,600,90);
   b.Canvas.Font.Color:=clBlack;
   b.Canvas.Font.Size:=50;
   b.Canvas.Font.Name:='Verdana';
   b.Canvas.TextOut(120,100,Cells[0,i]);
   b.SaveToFile(Form1.StatusBar3.Panels[1].Text + sr.Name + '.tiff');
   if FindNext(sr)<>0 then break;
  end;
 b.Free;
 FindClose(sr);
 ShowMessage('             Выполнено!             ');
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 22.09.2010, 06:52   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот из за этого:
Цитата:
Код:
FindFirst(Form1.StatusBar3.Panels[1].Text +'*.bmp',faAnyFile,sr);
 FindNext(sr);
 FindNext(sr);
и я не понял смысла пропускать два файла!..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.09.2010, 07:10   #20
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

и я не понял смысла пропускать два файла!..

Это видимо
Цитата:
.
..
2 FindNext(sr) можно вроде пропустить, если:
Код:
FindFirst(Form1.StatusBar3.Panels[1].Text +'*.bmp',faAnyFile-faDirectory,sr);

Последний раз редактировалось Sibedir; 22.09.2010 в 07:13.
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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