Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.07;
Скачать: CL | DM;

Вниз

Перевод рисунка из формата metafile в формат bitmap   Найти похожие ветки 

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

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

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

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

С уважением,

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


 
Джо ©   (2006-03-29 19:48) [1]

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


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

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

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

С уважением,

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


 
Джо ©   (2006-03-29 20:40) [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:42) [4]

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


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


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


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



Страницы: 1 вся ветка

Текущий архив: 2006.05.07;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.011 c
10-1118159389
F1
2005-06-07 19:49
2006.05.07
Word, OLE/COM


15-1144826480
syte_ser78
2006-04-12 11:21
2006.05.07
Ваши юношеские заблуждения (компьютерные)


15-1144914947
Kolan
2006-04-13 11:55
2006.05.07
Как принудитеьно запустить скан диск.


2-1145439798
Id
2006-04-19 13:43
2006.05.07
Вставка значений из одной таблицы в другую


15-1144912070
Layner
2006-04-13 11:07
2006.05.07
Можно ли написать ActiveX компонент, внедрить его в HTML,





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский