AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2007, 16:22   #1  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
Класс Image в 4.0
Привет!
Ребята, в 2.5 и 3.0 у класса Image была очень полезная функция
public void workRect(int _left=0, int _top=0, int _right=0, int _bottom=0)
которой в 4.0 не стало.

а она очень нужна - есть проект для визуализации спецификаций где активно используется этот метод.

что можно сделать что бы получить его в 4.0 и вообще реально ли это?

какие мысли..?
Старый 30.11.2007, 16:43   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
А если сделать наследника от Image, создать там этот метод и работать не с Imege а с наследником?
Хатя не получится наверна. Кода то не видно этого метода да и Бог его знает какие он там еще методы дергал...Сори

Последний раз редактировалось Sada; 30.11.2007 в 16:46.
Старый 30.11.2007, 16:46   #3  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
идея хорошая, я думал об этом, но где взять исходники этого метода?
Старый 30.11.2007, 16:49   #4  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Цитата:
Сообщение от if_maks Посмотреть сообщение
идея хорошая, я думал об этом, но где взять исходники этого метода?
В этом и проблема. Тоже хочу знать...
Старый 03.12.2007, 07:22   #5  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
..что за функция такая? по всему АОТ искал - ни одного вызова не нашел (потому и снесли, наверное). И гугл молчит тоже.
__________________
our sharp bitter vitriol is not that of the vulgar.
Старый 03.12.2007, 11:33   #6  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Опишите, что она делает. Может через WinApi все удастся повторить для 4ки.
Или ищите метод, через который можно сделать теже действия.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 04.12.2007, 15:58   #7  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
Метод workRect класса Image позволяет работать с выделенной областью изображения, например
X++:
_img.workRect(x1, y1, x2, y2);
_img.imageSpotlight(0, 0, 0, 15, 65);
затемняет приямоугольних ограниченный точками (x1, y1, x2, y2).
как это можно повторить в 4-ке через winApi? Буду очень признателен!!
Старый 06.12.2007, 17:10   #8  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
А это не устраивает?
X++:
WinGDI::fillRect(int x1, int y1, int x2, int y2, int hbrush);
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 19.12.2007, 16:11   #9  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
А это не устраивает?
X++:
WinGDI::fillRect(int x1, int y1, int x2, int y2, int hbrush);
Эта функция не подходит, потому что
1. Она очень медленно работает
2. Сбрасывает выделение при потере фокуса графического элемента

Вы мне вот что объясните, как можно понять такой спецэффект:
Есть форма, на ней контрол Window. В Window загружается jpg. На форме кнопка со следующим кодом:
X++:
void clicked()
{
    Image img;
    ;
    super();    
    img = new Image(WindowCtrl.image(), 100, 100);
    img.imageSpotlight(100, 100, 10, 1, 100);

    WindowCtrl.image(img);
}
в 3.0 этот код затемняет всю область window и подсвечивает точку (100, 100) в радиусе 10 пикселей
а вот в 4.0 ничего не происходит, аксапта думет несколько секунд и вываливает инфо лог, следующего содержания:
Предупреждение:


Цитата:
(C)\Classes\Image\imageSpotlight
(C)\Classes\FormButtonControl\Clicked - line 13

Последний раз редактировалось if_maks; 19.12.2007 в 16:14.
Старый 27.12.2007, 09:54   #10  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
кто-нибудь знает где можно взять исходники системного класса Image из 3.0 или 2.5?
очень нужно, помогите..!
Старый 27.12.2007, 10:03   #11  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Врятли это реально (получить исходники).
Все что там происходит делается через WinApi. Так что переписывайте нужные вам ф-и и все.
Как вариант - переделайте весь ваш контрол в ocx компонент. А в компоненте хоть фотошоп програмируйте.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 27.12.2007, 10:14   #12  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
да это понятно что через winApi, только если бы я знал как передалать не отвлекал бы тут никого своими вопросами...
Старый 27.12.2007, 11:55   #13  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Интересно, а есть ли в 4.0 форма tutorial_WindowSpotlight?
Неужели здесь написано про 3.0.
Я могу ошибаться, но, по-моему, по тройке не было online helpа.
Старый 27.12.2007, 12:17   #14  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Интересно, а есть ли в 4.0 форма tutorial_WindowSpotlight?
Неужели здесь написано про 3.0.
Я могу ошибаться, но, по-моему, по тройке не было online helpа.

в 4-ке как раз этой формы нет, более того в классе Image убрали почти все методы, которые в этой форме задействованы, осталась только imageSpotlight и то непонятно как она работает, при вызове вываливает какое предупреждение (см. выше)
Старый 27.12.2007, 13:22   #15  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
и еще одно интересное наблюдение: если в FormWindowControl загрузить внешний файл то метод imageSpotlight не работает и выдает непонятное предпреждение, как я писал выше, а если указать номер ImageResource то imageSpotlight начинает "светить"
с чем бы это могло быть связано?
Старый 27.12.2007, 17:01   #16  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от if_maks Посмотреть сообщение
и еще одно интересное наблюдение: если в FormWindowControl загрузить внешний файл то метод imageSpotlight не работает и выдает непонятное предпреждение, как я писал выше, а если указать номер ImageResource то imageSpotlight начинает "светить"
с чем бы это могло быть связано?
Видимо в 3-ке сказал бы следующее:
Цитата:
Function does not work on the 8-bit indexed image, please convert to gray.
Попробуйте ф-ю на ресурсе 71 и на 72.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0

Последний раз редактировалось Alex_KD; 27.12.2007 в 17:03.
Теги
ax2.5, ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как преобразовать System.Drawing.Bitmap в Bitmap/Image Аксапты? rkorchagin DAX: Программирование 7 31.03.2009 15:59
axaptapedia: Image class Blog bot DAX Blogs 0 22.07.2008 15:05
класс InventSumDateValueReportDim Физические запасы? Poleax DAX: Программирование 12 01.07.2008 15:27
Проблема с передачей контролов из формы в класс matew DAX: Программирование 0 28.04.2008 17:37
Image - что не так? renat DAX: Программирование 1 02.04.2003 09:08
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:05.