Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перевод рисунка из формата metafile в формат bitmap [D7, Win2k, WinXP]


Игорь Степанов ©   (2006-03-29 19:26:00) 

Уважаемые мастера,

Я создаю рисунок в формате Windows metafile для передачи его через буфер обмена в Excel. Одновременно мне нужно перевести рисунок в растровый формат bmp и сохранить на диске в виде самостоятельного файла.

Подскажите, пожалуйста, как произвести конвертацию форматов?

С уважением,

Игорь Степанов


Германн   (2006-03-30 01:53:00) [1]


> Игорь Степанов   (29.03.06 20:29) [2]
>
> А нельзя ли как-нибудь просто преобразовать один формат
> в другой наподобие процедуры Assign?


Assign, по своему смыслу означает копирование подобного в подобное.
Но метафайл - никак не подобен ни bmp-файлу, ни BitMap'у.


Джо   (2006-03-29 20:42:00) [2]

Можно задавать и другой размер битмапа, и рисовать при помощи StretchDraw.


Джо   (2006-03-29 20:40:00) [3]

Нет, это значит следующее:

var
 Metafile: TMetafile;
 Bitmap: TBitmap;
begin
 Metafile := TMetafile.Create;
 try
   Metafile.LoadFromFile('I:\pub\pic\Glyphs\MS\Metafile\Arrows\3DARROW5.WMF');

   Bitmap := TBitmap.Create;
   try
     Bitmap.Width := Metafile.Width;
     Bitmap.Height := Metafile.Height;
     Bitmap.Canvas.Draw(0,0,Metafile);
     Bitmap.SaveToFile('d:\test.bmp');
   finally
     Bitmap.Free;
   end;
 finally
   Metafile.Free;
 end;
end;


Игорь Степанов   (2006-03-29 20:29:00) [4]

Означает ли это, что нужно весь код рисования заново воспроизвести для канвы растрового образа?

А нельзя ли как-нибудь просто преобразовать один формат в другой наподобие процедуры Assign?

С уважением,

Игорь Степанов


Джо   (2006-03-29 19:48:00) [5]

Создаешь экземпляр TBitmap нужного размера, затем рисуешь на его канве свой метафайл.


Наверх

Титульная страница Поиск, карта сайта Написать письмо