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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2008, 23:52   #11
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

нет, именно rtf..... я вообще не очень понимаю идею преобразования bmp в rtf, но надо так надо.. или rtf изображения также бывают?
yulia вне форума Ответить с цитированием
Старый 31.10.2008, 23:53   #12
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

у меня получилась вот такая процедура
procedure TForm1.Button3Click(Sender: TObject);
var
bm:TBitmap;
IconInfo:TIconInfo;
Icon:TIcon;
begin
if OpenDialog1.Execute then
begin
bm:=TBitmap.Create;
bm.LoadFromFile(OpenDialog1.FileNam e);
end;
Icon:=TIcon.Create;
IconInfo.fIcon:=true;
IconInfo.xHotspot:=0;
IconInfo.yHotspot:=0;
IconInfo.hbmMask:=bm.Handle;
IconInfo.hbmColor:=bm.Handle;
Icon.Handle:=CreateIconIndirect(Ico nInfo);
bm.Free;
Icon.SaveToFile('myicon.ico');
Icon.Free;
end;

все работает, только иконки получаются размером рисунка.... а как их сделать 32*32?
yulia вне форума Ответить с цитированием
Старый 01.11.2008, 00:04   #13
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
или rtf изображения также бывают?
Не встречал таких. Тебе нужен текст, та функция что ты приводила как раз это и делает. Тебе остается полученную строку сохранить как RTF.
Не думаю что от тебя требуют знания структуры формата, в Дельфи должна быть функция сохранение в этот формат, также как и с иконкой и битмапом. Если не найдешь, можно схитрить, сохрани обычный текстовый файл, но с расширением .rtf, будет открываться не хуже )

Цитата:
у меня получилась вот такая процедура
Сделай как положено, вынеси в отдельную процедуру, я образец давал на той странице. Размер задай явно 32х32, а так он у тебя из размеров битмапа берется. Нужно будет только определиться какую часть рисунка уменьшить в эти 32х32.
Самый простой вариант - создай дополнительно маленький битмап 32х32, перенеси в него картинку методом канвы StretchDraw из большого, а дальше точно также как и делала, только иконку делай из маленького, теперь размер будет как нужно.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 01.11.2008 в 00:10.
mutabor вне форума Ответить с цитированием
Старый 01.11.2008, 00:06   #14
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

ну у меня тоже была идея сохранять как текстовый файл обычный )))

Значит с этим разобрались.. спасибо )))
yulia вне форума Ответить с цитированием
Старый 01.11.2008, 00:40   #15
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

тут прикол такой
пишу в файл
newfile:=bmp2rtf(bm);
assignFile(MyFile,ChangeFileExt(Ope nDialog1.FileName,'.rtf'));
rewrite(MyFile);
write(MyFile,newfile);
closefile(MyFile);

В итоге файл создается, весит 2 метра, а открываю - он пустой...

Проверяла переменную newfile - она содержит инфу, все нормально.

И, кстати, он нормально открывается через WordPad и там карттинка... А вот ворд не хочет..... почему интересно?

Последний раз редактировалось yulia; 01.11.2008 в 00:51.
yulia вне форума Ответить с цитированием
Старый 01.11.2008, 01:13   #16
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Ах вон оно что, картинка в документе rtf. Теперь понятно что имелось ввиду под конвертированием в rtf.

Цитата:
А вот ворд не хочет..... почему интересно?
Формат не понимает. Видимо не совсем правильно строка формируется.

Если хочешь чтобы в Ворде открывался, создай маленькую бмп картинку в Пэинте, 50х50 пикселей. Залей ее одним цветом, и в Ворде вставь ее в пустой документ и сохрани в rtf. Полученый rtf файл прикрепи сюда к сообщению. Я посмотрю заголовок, у меня просто Ворда сейчас нет, а другие программы все по разному сохраняют. И сделай тоже самое своей программой из того же bmp файла, и полученый rtf тоже залей, назови их только по разному, чтобы понятно было где какой.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 01.11.2008 в 02:02.
mutabor вне форума Ответить с цитированием
Старый 02.11.2008, 15:09   #17
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

Я кажется поняла почему ворд его не хочет.... rtf формат старые ворды вообще в принципе не открывают... А у меня как раз старый стоит....
yulia вне форума Ответить с цитированием
Старый 02.11.2008, 16:34   #18
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

var
bm:TBitmap;
jpgImg: TJPEGImage;
MyFormat : Word;
AData:cardinal;
APalette : hPalette;
begin
if OpenDialog1.Execute then
begin
bm:=TBitmap.Create;
bm.LoadFromFile(OpenDialog1.FileNam e);
end;
bm.SaveToClipBoardFormat(MyFormat,A Data,APalette);
Image1.Picture.Bitmap.LoadFromClipb oardFormat(cf_BitMap, ClipBoard.GetAsHandle(cf_Bitmap), 0);
jpgImg := TJPEGImage.Create;
jpgImg.Assign(Image1.Picture.Bitmap );
jpgImg.SaveToFile(ChangeFileExt(Ope nDialog1.FileName,'.jpg'));
bm.Free;
end;

Оно тут пишет Unsupported ClipBoard format
Что с этим делать?
yulia вне форума Ответить с цитированием
Старый 02.11.2008, 16:48   #19
yulia
Форумчанин
 
Аватар для yulia
 
Регистрация: 24.03.2007
Сообщений: 314
По умолчанию

И еще.. Как можно rtf-файл сконвертировать в bmp?
yulia вне форума Ответить с цитированием
Старый 02.11.2008, 17:11   #20
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Ну и наворочено )

Держи:
Код:
  
uses Jpeg;

if SaveDialog1.Execute then
  begin
    savebm:=tbitmap.Create;
    savebm.LoadFromFile(...);
    jp := TJPEGImage.Create;
    jp.CompressionQuality:=q; //q = 0 - 100
    jp.Assign(savebm);
    jp.SaveToFile(savedialog1.FileName);
    savebm.Free;
    jp.Free;
  end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Встроенный конвертер графических файлов в Windows Air Мультимедиа в Delphi 12 23.03.2008 00:42
конвертирование Hex -> Text и Float -> Int NikOnLine Общие вопросы Delphi 13 22.12.2007 23:11
Открытия графических файлов Kocapb Общие вопросы C/C++ 3 01.12.2007 19:11
Конвертирование из поля Edit в нормальный знак. alikon1 Общие вопросы Delphi 11 27.11.2007 22:53
ищу спецификации различных форматов файлов bphoenix Свободное общение 2 14.04.2007 13:06