Len писал(а):
Как этот код на Компонентном Паскале будет выглядеть?
В GDI+ более 600 функций (так называемых flat API). Компания Microsoft рекомендует использовать разработанную ею ООП-обертку для С++, а про flat API GDI+ дает ограниченные сведения. Обёрткой, конечно, пользоваться легче, потому что она скрывает излишние технические детали. Но по этой же причине, разглядывая примеры на С++, трудно понять как их переделать под Оберон\КП: нужно не только понять, что делают обёрткой, но и залезать в саму обёртку, чтобы понять, что делает она.
Обёрток GDI+ для Оберона я не видел. Есть обертки для Паскаля, возможно в них легче разобраться. Можно сравнить с примерами из других языков. Вот пример для freebasic:
http://free-basic.ru/gdiplusgfx.html. Здесь тоже используется обёртка, но более прозрачная. Например, загрузка изображения из файла png выполняется функцией Load_imageA, которая явно расписана, а не скрыта внутри какого-то метода обертки.