VBA и работа с цветами пикселей изображений (различных форматов)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток!
Вот уже несколько дней ломаю голову над следующей задачей. Общарил инет, 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5