Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

Infarch


Принципиальный молчун

Зарегистрирован:
28 November 2007
Сообщения: 1
Примеры кода: 0
 

MetafilePict

24 February 2010 15:43  


У меня в Clipboard есть данные в формате MetafilePict. Задача - извлечь оттуда картинку и сохранить в BMP. Я делал так:

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern bool OpenClipboard(IntPtr hWndNewOwner);

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern bool CloseClipboard();

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetClipboardData(uint format);

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern bool IsClipboardFormatAvailable(uint format);

public const uint CF_METAFILEPICT = 3;
public const uint CF_ENHMETAFILE = 14;

private Metafile GetMetaFromClipboard()
{
Metafile metafile = null;
if (OpenClipboard(Handle))
{
if (IsClipboardFormatAvailable(CF_METAFILEPICT))
{
IntPtr ptr = GetClipboardData(CF_METAFILEPICT);
if (!ptr.Equals(new IntPtr(0)))
{
metafile = new Metafile(ptr, false);
}
}
CloseClipboard();
}
return metafile;
}

Но в этом случае на строке "metafile = new Metafile(ptr, false);" я получаю ошибку "A generic error occurred in GDI+". Подскажите, как быть?
Наверх
  



Общие вопросы программирования на ASP.NET

 MetafilePictInfarch  24 February 2010 15:43
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта