Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Работа с картинками (Delphi)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

LordGrey13



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 Есть задача. Имеется картинка (формат сделаем любой) на нее надо дорисовать дату и время создания (в Delphi).
  К сожалению с графикой не работал, поэтому подскажите почти с нуля

Всего записей: 19 | Зарегистр. 02-08-2007 | Отправлено: 09:42 13-01-2009
lerthe61

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
К примеру TImage на форму, TImage.Canvas.TextOut - пишем, что хотим по координатам и сохраняем

Всего записей: 74 | Зарегистр. 04-05-2007 | Отправлено: 10:07 13-01-2009
NUB2008



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не люблю стандартные делфячии функции работы с графикой. Я обычно делаю так
 

Код:
 
var
 b: TBitmap;
 s: string;
begin
  b := TBitmap.Create;
  b.LoadFromFile('c:\1.bmp'); //грузим файло
  SetBkMode(b.Canvas.Handle, Transparent); //прозрачный фон
  b.Canvas.Font.Color := clBlack; //колор текста
  s:=DateToStr(now); //дату получаем в строке
  TextOut(B.Canvas.Handle, 10, 10, PChar(s), Length(s)); //пишем на канвасе
  b.SaveToFile('c:\2.bmp'); //сохраняем
  b.Free; //незабываем освободить память
end;
 
 

Всего записей: 27 | Зарегистр. 26-12-2008 | Отправлено: 21:47 15-01-2009 | Исправлено: NUB2008, 21:49 15-01-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NUB2008

Цитата:
Не люблю стандартные делфячии функции работы с графикой. Я обычно делаю так  

А если ты их так не любишь, то почему TBitmap используешь и канву от него? Надо было делать сурово - HDC, CreateDC и так далее. А здесь везде использование классов Дельфи и только 2 АПИ функции, и то вместо TextOut можно было спокойно использовать такую же у канвы, вот только SetBkMode нет у канвы, только она на 100% АПИшная.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:34 16-01-2009
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NUB2008
все хорошо, кроме того, что в случае, если файл не прочитается или не сохранится по какой-то причине, то возникнет Exception и b.Free не будет вызван.  
Надо бы try.. finally ...

Цитата:
Не люблю стандартные делфячии функции работы с графикой

А таких фунцкий вообще очень мало, в основном это все обертки Windows API, почитай исходники TCanvas. Разницы никакой.

----------
... не это главное ...

Всего записей: 832 | Зарегистр. 30-01-2002 | Отправлено: 17:40 16-01-2009
NUB2008



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ShIvADeSt
А еще я могу это сделать через OpenGL. ..Тока человеку который первый раз с графикой работает тяжеловато будет это понять.... Ну мне так кажеться
 
MrZeRo

Цитата:
то возникнет Exception и b.Free не будет вызван.  
Надо бы try.. finally ...  

У меня компилятора под рукой нету, на коленке писал, не охото морочиться....
 

Цитата:
А таких фунцкий вообще очень мало, в основном это все обертки Windows API, почитай исходники TCanvas. Разницы никакой.

 
Дело не в этом, например в ВБ как то сложновато с канвами, а апихи и есть апихи....просто привычка...

Всего записей: 27 | Зарегистр. 26-12-2008 | Отправлено: 23:00 16-01-2009 | Исправлено: NUB2008, 23:04 16-01-2009
alekc2008



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
используем стандартный TImage.Canvas.TextOut с заданными координатами




давай не будем заниматься набиванием постов, а то могу и запрет на пост попросить для тебя.

Всего записей: 253 | Зарегистр. 14-05-2007 | Отправлено: 17:17 15-04-2010 | Исправлено: ShIvADeSt, 09:10 16-04-2010
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Работа с картинками (Delphi)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru