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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2021, 00:46   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 603
По умолчанию Текст на картинке

Подскажите пожалуйста, как Image вывести текст?

Собственно, задача, которую мне нужно выполнить - есть огромное число фотографий, на которых нужно в углу написать название файла
Kronos913 вне форума Ответить с цитированием
Старый 13.02.2021, 01:47   #2
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 603
По умолчанию

И второй вопрос - как потом сохранить фото как jpg ?
Kronos913 вне форума Ответить с цитированием
Старый 13.02.2021, 11:39   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Код:
Vcl.Imaging.jpeg
...
procedure TForm1.Button1Click(Sender: TObject);
var
  jpeg: TJpegImage;
  bm: TBitMap;
begin
  bm := TBitMap.Create;
  jpeg := TJpegImage.Create;
  jpeg.CompressionQuality := 100;
  jpeg.LoadFromFile('pic.jpg');
  bm.Assign(jpeg);
  bm.Canvas.Font.Name := 'Courier New';
  bm.Canvas.Font.Color := clWhite;
  bm.Canvas.Font.Style := [fsBold];
  bm.Canvas.Font.Size := 14 ;
  bm.Canvas.Brush.Style := bsClear;
  bm.Canvas.TextOut(50, 100, 'Something');
  jpeg.Assign(bm);
  jpeg.SaveToFile('s.jpg');
  Image1.Canvas.Draw(0, 0, bm);
  bm.Destroy;
  jpeg.Destroy;
end;
Прикрепляю изображение для тестов.
Изображения
Тип файла: jpg pic.jpg (26.5 Кб, 29 просмотров)
Shouldercannon вне форума Ответить с цитированием
Старый 13.02.2021, 16:14   #4
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 603
По умолчанию

Большое спасибо. Протестировал - работает.
Один минус только - размер файла вырастает так раза в 4 после этой операции. При том же разрешении изображения. И можно ли как-то устранить эту проблему?

p.s. Фонты как мне кажется, быстрее настроить через фонт-диалог
Kronos913 вне форума Ответить с цитированием
Старый 13.02.2021, 17:16   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Цитата:
Сообщение от Kronos913 Посмотреть сообщение
Большое спасибо. Протестировал - работает.
Один минус только - размер файла вырастает так раза в 4 после этой операции. При том же разрешении изображения. И можно ли как-то устранить эту проблему?

p.s. Фонты как мне кажется, быстрее настроить через фонт-диалог
Можно экспериментировать с
Код:
CompressionQuality
Ставить значение от 0 до 100. Соответственно будет влиять на качество изображения.
Shouldercannon вне форума Ответить с цитированием
Старый 13.02.2021, 22:07   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Можно смело ставить значение 80, внешне неотличимо от 100, а файл станет поменьше.
Arigato вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текст по картинке digitalis Мультимедиа в Delphi 2 07.07.2018 20:07
Привязать текст к картинке doober Microsoft Office Word 7 17.07.2014 16:17
Большой текст в Memo и Как привязать новое окно в картинке wolfgrey21 Общие вопросы Delphi 2 04.02.2013 22:19
Текст на картинке bulldog5293 Общие вопросы Delphi 4 25.04.2011 20:52
текст на картинке Chudo4258 HTML и CSS 21 29.05.2009 22:54