Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];

Вниз

Перевод рисунка из формата 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.011 c
3-1142414454
thvfrjd
2006-03-15 12:20
2006.05.07
Проблема с хранимой процедурой


15-1144769368
Cerberus
2006-04-11 19:29
2006.05.07
Обучение в питере.


15-1144644621
TUser
2006-04-10 08:50
2006.05.07
Все будет хорошо ...


2-1145590311
Holod
2006-04-21 07:31
2006.05.07
хм...


2-1145255059
Kosyak
2006-04-17 10:24
2006.05.07
произвольное изменение числа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский