![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перевод рисунка из формата 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 нужного размера, затем рисуешь на его канве свой метафайл.