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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.05.2010, 09:12   #1
Richard22
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 22
Восклицание bmp изображения в rtf

Очень нужен исходник программы которая переводит из bmp изображения в rtf , ну или хотябы куски хода
Richard22 вне форума
Старый 13.05.2010, 09:20   #2
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Код:
function BitmapToRTF(pict: TBitmap): string ; 
var 
bi, bb, rtf: string ; 
bis, bbs: Cardinal; 
achar: ShortString; 
hexpict: string ; 
I: Integer; 
begin 
GetDIBSizes(pict.Handle, bis, bbs); 
SetLength(bi, bis); 
SetLength(bb, bbs); 
GetDIB(pict.Handle, pict.Palette, PChar(bi)^, PChar(bb)^); 
rtf := '{\rtf1 {\pict\dibitmap0 ' ; 
SetLength(hexpict, (Length(bb) + Length(bi)) * 2 ); 
I := 2 ; 
for bis := 1 to Length(bi) do 
begin 
achar := IntToHex(Integer(bi[bis]), 2 ); 
hexpict[I - 1] := achar[ 1 ]; 
hexpict[I] := achar[ 2 ]; 
Inc(I, 2 ); 
end ; 
for bbs := 1 to Length(bb) do 
begin 
achar := IntToHex(Integer(bb[bbs]), 2 ); 
hexpict[I - 1] := achar[ 1 ]; 
hexpict[I] := achar[ 2 ]; 
Inc(I, 2); 
end ; 
rtf := rtf + hexpict + ' }}'; 
Result := rtf; 
end;
Вот нарыл (код не мой)
danekne вне форума
Старый 13.05.2010, 09:37   #3
Richard22
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 22
По умолчанию

эээ а моно уточнить, как это использовать?
Richard22 вне форума
Старый 13.05.2010, 09:52   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Попробуйте так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 function BitmapToRTF(Image1.Picture.Bitmap); //в Image1 рисунок bmp
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 13.05.2010, 20:53   #5
Richard22
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 22
По умолчанию

Это всё понятно, вы мне объясните где мне взять мой вожделенный rtf фаил?????
Richard22 вне форума
Старый 13.05.2010, 21:18   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вам даль функцию, которая переводит битмап в rtf формат(по крайней мере так сказано)
используйте её и сохраните полученную строку в файл.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.05.2010, 21:28   #7
Richard22
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 22
По умолчанию

Я сейчас заплачу =*(, ну объясните новичку поподробнее как это сделать(((
Richard22 вне форума
Старый 13.05.2010, 22:00   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

как минимум так.
Код:
procedure BitMap2RTFFile(FileName:string;BMP:TBitMap);
var F:TextFile;
begin
 AssignFile(F,FileName);
 Rewrite(F);//очищаем файл
 Write(F,BitmapToRTF(BMP));//эта функция тоже нужна
 CloseFile(F);
end;
надеюсь по именам параметров понятно что куда?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.05.2010, 23:17   #9
Richard22
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 22
По умолчанию

Всё равно не работает, я когда открываю в Image1 bmp рисунок, потом все махинации делаю у меня получается в rtf файле пусто((
Цитата:
procedure TForm1.Button8Click(Sender: TObject);
var F:TextFile;
FileName:string;
BMP:TBitMap;
begin
FileName:='C:\love.rtf';
BMP:=Image1.Picture.Bitmap;
AssignFile(F,FileName);
Rewrite(F);//очищаем файл
Write(F,BitmapToRTF(BMP));//эта функция тоже нужна
CloseFile(F);
end;
Richard22 вне форума
Старый 15.05.2010, 15:36   #10
Richard22
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 22
По умолчанию

Блин ну помогите плиззз, что притихли то?
Richard22 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отступы в RTF Utkin Общие вопросы Delphi 7 13.03.2009 14:53
RTF > Jpg prizrak1390 Общие вопросы Delphi 6 06.02.2009 22:55
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29
RTF Mickle Общие вопросы Delphi 2 03.04.2007 21:34