|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 5, 2003 20:38:51 Я тут прогу на асме пишу - позарез мне надо парочку функций из GDI+ таких как например градиентная заливка. Начитался доков - везеде пишут что вещь хорошая, но примеров чето я нигде не видел. На MSDN-е я нашел такую штуку: LinearGradientBrush linGrBrush( Point(0, 10), Point(200, 10), Color(255, 255, 0, 0), // opaque red Color(255, 0, 0, 255)); // opaque blue Pen pen(&linGrBrush); graphics.DrawLine(&pen, 0, 10, 200, 10); graphics.FillEllipse(&linGrBrush, 0, 30, 200, 100); graphics.FillRectangle(&linGrBrush, 0, 155, 500, 30); Я так понял это С++ и ООП. Как бы то-же самое сделать на асме. Подскажите... |
|
|
Дата: Авг 5, 2003 20:47:13 так примеров в пакете MASM32 масса. Покопайтесь. |
|
|
Дата: Авг 5, 2003 21:03:39 Я там смотрел... Но мож я проглядел, подскажите если не трудно какой сз примеров? |
|
|
Дата: Авг 5, 2003 21:12:47 profi_r "- Дуся? - удивился монтер. - Вы меня озлобляете. Я человек, измученный нарзаном." |
|
|
Дата: Авг 5, 2003 21:31:52 xzazet Нету там примеров по GDI+. Присветите, плиз!!! profi_r Есть GDIPLUS.DLL в .NET FRAMEWORK. GDIPLUS.LIB нигде не фигурирует. В самом MSDN открытым текстом советуют НЕ использовать Flat API для GDI+. Даже суппорт прикрыть грозяться :))) ...больше ничего не нашёл :( |
|
|
Дата: Авг 5, 2003 21:39:54 Вот те раз, а как же градиент :( |
|
|
Дата: Авг 6, 2003 02:46:21 Quantum profi_r Ну не знаю, не знаю - у меня лежат ;) Правда, комменты прояснили ситуацию. ;) По-моему, есть много информации про GDI+ на форуме powerbasic.com PPS: для запуска нужна библиотека gdiplus.dll (в XP уже стоит). Код не смотрел, исходник запустил - работает. Разбирайтесь. _1163921946__gdiplus_example.asm |
|
|
Дата: Авг 6, 2003 08:53:43 Большое спасибо, xzazet, буду копать дальше и если че порадую своими исходниками!!! |
|
|
Дата: Авг 6, 2003 09:23:21 profi_r Не за что. Другое не выкладываю, так как не уверен в правильности подхода (копал до условия - "так, это работает" :)). Вроде везде функции возвращали eax = ok (ноль). Но, помню, там были непонятки - ноль при заведомо неверных параметрах. Кстати, выложенный исходник не лишен спорных моментов. Например, обрати внимание на 100% CPU (или это баг, или чего-то пытался определить, уже не помню). Там дело в WndProc\WM_PAINT\DefWindowProc. Если будешь серьезно искать на форуме PBasic, там были инклюды почти рабочие :) Выкладывай все сюда. Ну и примеры там встречались. PowerBasic читается без подготовки, асма достаточно. И еще. Некоторые функции требуют floats в качестве параметров. Ну... держись ;) |
|
|
Дата: Авг 6, 2003 09:42:09 · Поправил: xzazet |
|
|
Дата: Авг 6, 2003 19:44:56 Глянул я баг со 100% - там такая проблем - постоянно приходит сообщение WM_PAINT, не знаю почему - видимо виндовоз не устраивет то как мы это сообщение обрабатываем, толи забыли чето освободить/закрыть толи че. Буду дальше копать... |
|
|
Дата: Авг 6, 2003 20:22:09 Глянул я баг со 100% - там такая проблем - постоянно приходит сообщение WM_PAINT, не знаю почему - видимо виндовоз не устраивет то как мы это сообщение обрабатываем, толи забыли чето освободить/закрыть толи че. Буду дальше копать... Я же тебе уже подсказал, где ошибка :) Это может быть баг, а может быть и остатки FPS счетчика. |
|
|
Дата: Авг 6, 2003 21:05:42 xzazet, ворой пример гораздо лучше и без багов, так что юзать буду скорее всего его... Тока вот мне не нравится способ вызова процедур из длл. А нельзя ли где нибудь найти .inc и .lib, ато мне чето не охота их самому делать :)) |
|
|
Дата: Авг 6, 2003 21:43:08 Решил всетаки сделать .inc сам, но там 609 функций - это не под силам простому смертному!!! Может всетаки где нибудь есть а ??? |
|
|
Дата: Авг 6, 2003 23:30:29 profi_r :) Читай, что я вверху написал: Если будешь серьезно искать на форуме PBasic, там были инклюды почти рабочие :) Выкладывай все сюда. Ну и примеры там встречались. PowerBasic читается без подготовки, асма достаточно. Да, это тяжко разбираться в API без документации (начинаешь больше ценить MSDN Library ;)). Но если тебе удастся сделать _рабочий_ .inc для MASM32 - кодеры тебя не забудут. Если ты действительно настроен на продуктивный труд, то обратись на форум Hutch'a и спроси у него, есть ли что-нибудь в работе по gdiplus, чтобы велосипед не изобретать. Может он тебе популярно объяснит почему этого делать не надо (или наоборот попросит помочь с .inc). Подумай - твое имя может быть вписано в историю золотыми буквами. PS: Сейчас у себя глянул в инклудах - есть "gdiplus.inc"! Но там только несколько функций :( .Lib не нашел - видимо размер SDK не устроил. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.063 |