Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » GDI+ Flat API

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

koderr



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Нужны примеры использования функций GDI+, в частности, GdipLoadImageFromFile и GdipSaveImageToFile, на чистом С или асме

Всего записей: 353 | Зарегистр. 22-06-2005 | Отправлено: 03:23 27-05-2006
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
посмотри MSDN по ключевому слову "GDI+ Flat API" или msdn online:

Цитата:
 
Microsoft® Windows® GDI+ exposes a flat application programming interface (API) that consists of about 600 functions, which are implemented in Gdiplus.dll and declared in Gdiplusflat.h. The functions in the GDI+ flat API are wrapped by a collection of about 40 C++ classes. It is recommended that you do not directly call the functions in the flat API. Whenever you make calls to GDI+, you should do so by calling the methods and functions provided by the C++ wrappers. Microsoft Product Support Services will not provide support for code that calls the flat API directly.

Из msdn следует, что все с api описаны в Gdiplusflat.h кроме того их использование можно посмотреть в дугих h-файлах имя которых начинается с gdiplus (в них реализована с++ обертка над flat api)
примеров c LoadImage много: на foxpro , на С (спрашиваем у google )

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 12:06 29-05-2006 | Исправлено: WiseAlex, 12:17 29-05-2006
koderr



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
WiseAlex
В MSDN информации по GDI+ Flat API кот наплакал, всё советуют юзать классы. А если я хочу на Асме? В заголовочных файлах описания есть, но много не хватает, приходится методом тыка и дизассемблировать пример на C++.

Всего записей: 353 | Зарегистр. 22-06-2005 | Отправлено: 18:43 05-06-2006
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
koderr

Цитата:
но много не хватает

чего именно? кроме того есть google.

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 19:04 05-06-2006
koderr



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
WiseAlex
В masm32 даже библиотек импорта нет для него. Даже на самом кодерском поисковике koders.com ни слова "Gdip" среди ассемблерных листингов...

Всего записей: 353 | Зарегистр. 22-06-2005 | Отправлено: 11:31 06-06-2006
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
koderr
можно взять С и написать вызовы всего, что нужно, и скомпилировать в ассемблер.
--
т.к. я уже давно не программировал на ассемблере, то, возможно, не совсем понимаю проблему.

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 13:43 06-06-2006
koderr



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
WiseAlex

Цитата:
можно взять С и написать

В том-то и дело, что только на С++ компилится, вместе с new, delete. Мне кажется, по new должен вызываться конструктор класса Image; при ближайшем рассмотрении, дизассемблером то есть, там оказываются вызовы GdipAlloc и GdipLoadImageFromFile. Но структуры, используемые ими, нигде не описаны . В заголовочниках GDI+ только пара структур типа ColorMatrix.

Всего записей: 353 | Зарегистр. 22-06-2005 | Отправлено: 14:18 06-06-2006
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
koderr

Цитата:
Мне кажется, по new должен вызываться конструктор класса

да должен

Цитата:
В том-то и дело, что только на С++ компилится

насколько мне известно с gdiplus работают и из-под С следовательно инициализацию можно сделать и так. кроме того есть специальные функции создания того, что надо.

Цитата:
при ближайшем рассмотрении, дизассемблером то есть,

для этого достаточно просто пройтись отладчиком до вызова библиотечных функций (имхо)
---
Если люди работают с gdiplus на С, то, очевидно, можно работать и на ассемблере. здесь описаны какие-то структуры от gdiplus - может поможет (там много исходников именно по gdiplus)

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 14:39 06-06-2006 | Исправлено: WiseAlex, 14:40 06-06-2006
koderr



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
WiseAlex
Черт побери, то что надо Скачаю всю библиотеку libgdiplus. Кстати, ничего подобного ни в MSDN, ни в *.h MSVC 2005 нет. Пошел кодить

Всего записей: 353 | Зарегистр. 22-06-2005 | Отправлено: 14:45 06-06-2006
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
koderr
я рад, что помогло. Правда библиотека эта - кусок от mono (порт .net framework на linux)

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 15:58 06-06-2006 | Исправлено: WiseAlex, 16:45 06-06-2006
koderr



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
WiseAlex
Да, переписать на asm не составит труда. Думаю, тема закрыта.

Всего записей: 353 | Зарегистр. 22-06-2005 | Отправлено: 16:32 06-06-2006
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » GDI+ Flat API


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru