VBA и работа с цветами пикселей изображений (различных форматов)
Формулировка задачи:
Доброго времени суток!
Вот уже несколько дней ломаю голову над следующей задачей. Общарил инет, msdn, форум, но только каши в голове стало..
Возникает ряд
Возможно ли выполнить все перечисленные операции
-не прибегая к ухищрениям типа "GetPixel" (читая данные о пикселях НЕ с экрана, а непосредственно из файла)
-без необходимости написания отдельного кода для каждого формата изображений
-пользуясь только средствами VBA и стандартными библиотеками, доступными на всех компьютерах, начиная с ОС Windows XP
Наткнулся на эти разделы API, но для реализации на VBA они показались мне ужасно громоздкими (придется объявлять кучу функций и констант для того, чтобы добраться до истины):
WIC
GDI
GDI+
Подскажите, пожалуйста, есть ли пути короче?
В любом случае за меня кода писать не надо - просто пните меня в правильном направлении, а я там дальше уже додумаю..
Вот уже несколько дней ломаю голову над следующей задачей. Общарил инет, msdn, форум, но только каши в голове стало..
Задача
: Необходимо загрузить из директории изображение (оно может быть разных форматов - jpg, bmp, png, ...), после чего извлечь данные о цвете всех пикселей, изменить цвета в соответствии с определенной формулой (в соответствии с вегетационным индексом NDVI), выполнить необходимые подсчеты, после чего вывести результат (в том числе измененное изображение) на экран.Возникает ряд
вопросов
:Возможно ли выполнить все перечисленные операции
-не прибегая к ухищрениям типа "GetPixel" (читая данные о пикселях НЕ с экрана, а непосредственно из файла)
-без необходимости написания отдельного кода для каждого формата изображений
-пользуясь только средствами VBA и стандартными библиотеками, доступными на всех компьютерах, начиная с ОС Windows XP
Наткнулся на эти разделы API, но для реализации на VBA они показались мне ужасно громоздкими (придется объявлять кучу функций и констант для того, чтобы добраться до истины):
WIC
GDI
GDI+
Подскажите, пожалуйста, есть ли пути короче?
В любом случае за меня кода писать не надо - просто пните меня в правильном направлении, а я там дальше уже додумаю..
Огромное спасибо!
Решение задачи: «VBA и работа с цветами пикселей изображений (различных форматов)»
textual
Листинг программы
#If VBA6 Then Private Declare Function VarPtrArray Lib "vbe6" Alias "VarPtr" ( _ Arr() As Any) As Long #ElseIf VBA7 Then Private Declare Function VarPtrArray Lib "vbe7" Alias "VarPtr" ( _ Arr() As Any) As Long #Else Private Declare Function VarPtrArray Lib "msvbvm60" Alias "VarPtr" ( _ Arr() As Any) As Long #End If
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д