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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2019, 13:19   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
А как вывести текст по верх картинки??
это поверх картинки.
Если Вы картинку в коде загружаете, тогда выводите текст после загрузки картинки.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.06.2019, 13:46   #12
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А это не поверх? При повторном выводе повторно и картинку загрузить в image
Все, разобрался!
Осталось два вопроса.
Подскажите пожалуйста, как стереть текст? И, как увеличить межбуквенный интервал?
Женя32 вне форума Ответить с цитированием
Старый 20.06.2019, 14:18   #13
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Код:
type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
  private
    Bp:TBitMap;
    { Private declarations }
  public
    { Public declarations }
  end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
 Self.DoubleBuffered:=True;
 Bp:=TBitMap.Create;
 Bp.LoadFromFile('c:\33e382014166306b77058c92f855c728.bmp'); \\ Ваша картинка
 Image1.Picture.Bitmap.Width:=bp.Width;
 Image1.Picture.Bitmap.Height:=bp.Height;
end;

procedure TForm1.Edit1Change(Sender: TObject);
Var s:String;
 I:Integer;
const Ofs=+1;  // Увеличенный интервал
begin
 with Image1.Canvas do
  begin
    Draw(0,0, Bp);
    Font.Color:=clred;
    Font.Size:=44;
    brush.style:=bsClear;
    S:=Edit1.Text;
    PenPos:=Point(10,10);
    for i:=1 to Length(S) do
      TextOut(PenPos.X+Ofs, PenPos.Y, S[i]);
  end;
  Image1.Repaint;
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 20.06.2019 в 14:42.
Pavia вне форума Ответить с цитированием
Старый 20.06.2019, 17:39   #14
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Подскажите пожалуйста, как очистить Canvas?
Женя32 вне форума Ответить с цитированием
Старый 20.06.2019, 21:31   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
как очистить Canvas?
пример выше от Pavia в пост #13
он что, зря его писал?!

создаётся Bp:=TBitMap.Create;
туда грузится картинка
потом
Код:
Image1.Canvas.Draw(0,0, Bp);
или можете залить всё белым прямоугольником, как Вы это сами делали см. свой пост #7

Последний раз редактировалось Serge_Bliznykov; 20.06.2019 в 21:34.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.06.2019, 10:37   #16
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
пример выше от Pavia в пост #13
он что, зря его писал?!
...
За пример спасибо! Там про интервал между буквами... А мне нужно как-то стирать буквы.
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
...
создаётся Bp:=TBitMap.Create;
туда грузится картинка
потом
Код:
Image1.Canvas.Draw(0,0, Bp);
или можете залить всё белым прямоугольником, как Вы это сами делали см. свой пост #7
Serge_Bliznykov, Вы помните программу из этой темы?: Как подменить или отредактировать file.bmp
Вопрос! Как она ищет позицию для вставки букв? Через Canvas.FillRect(Rect(0,0,W,H));? И как стирает буквы?
Но, в той программе картинка с внешней подгрузкой, а я сразу загрузил в image.
Женя32 вне форума Ответить с цитированием
Старый 21.06.2019, 10:44   #17
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Стирать текст загрузкой по-новой картинки. Загрузить из файла в bitmap можно один раз, а потом в image из него сколько хочешь. Можно и не из файла, а из ресурса в проекте
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.06.2019, 10:48   #18
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Стирать текст загрузкой по-новой картинки. Загрузить из файла в bitmap можно один раз, а потом в image из него сколько хочешь. Можно и не из файла, а из ресурса в проекте
Но, тогда весь текст будет стираться. Я не прав?
Женя32 вне форума Ответить с цитированием
Старый 21.06.2019, 10:51   #19
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Прав. А как иначе? Восстанавливай тот текст, который не нужно стирать. Или проектируй все на объектах, и в конечном счете там будет тоже самое
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.06.2019, 11:01   #20
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от Аватар Посмотреть сообщение
Прав. А как иначе? Восстанавливай тот текст, который не нужно стирать. Или проектируй все на объектах, и в конечном счете там будет тоже самое
А Как в этой программе буквы стираются?:
Вложения
Тип файла: rar Proga.rar (341.3 Кб, 20 просмотров)
Женя32 вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
public void someMethod() { this.run = false; Canvas canvas = null; doDraw(canvas); Tatana Java Мобильная разработка (Android) 10 15.12.2016 12:05
Delphi DX10 вывод текста на Canvas vohuanrok Общие вопросы Delphi 10 13.05.2016 10:44
Форматированный вывод текста в Edit mak15 Общие вопросы C/C++ 4 14.12.2015 17:29
TreeView, Canvas, Вывод текста Kotaries Общие вопросы Delphi 1 18.07.2014 18:16
Вывод в edit текста с переменной NecroSlider Общие вопросы C/C++ 4 29.07.2008 14:42