Добрый день уважаемые. Понадобилось мне тут в цикле произвести некоторые вычисления, для которых мне нужны были значения
_GDIPlus_ImageGetWidth и _GDIPlus_ImageGetHeight, но столкнулся с необъяснимой проблемой.
_GDIPlus_ImageGetWidth и _GDIPlus_ImageGetHeight выдавал мне немыслимые размеры *.jpg файлов, а именно 4294967295
Целый день ломал голову, но так и не понял из за чего проблема и как ее решить. Стал искать причины.
И выяснилось следующее
Вот этот код, начинает выдавать немыслимые значения ширины , а именно "4294967295"
Стал экспериментировать и искать проблему и обнаружилось, что, убрав первый цикл, выдает нормальные значения.
Вопрос: Чем помешал цикл ? даже пустой. И еще, чем больше первый цикл, тем раньше начинает глючить. Например при первом цикле до 6, глючить начинает произведя 9500 вычислений, а при цикле до 7 глючит произведя 8000 вычислений.
_GDIPlus_ImageGetWidth и _GDIPlus_ImageGetHeight, но столкнулся с необъяснимой проблемой.
_GDIPlus_ImageGetWidth и _GDIPlus_ImageGetHeight выдавал мне немыслимые размеры *.jpg файлов, а именно 4294967295
Целый день ломал голову, но так и не понял из за чего проблема и как ее решить. Стал искать причины.
И выяснилось следующее
Вот этот код, начинает выдавать немыслимые значения ширины , а именно "4294967295"
Код:
For $y = 1 To 6
For $i = 0 To UBound ($1) - 1
_GDIPlus_Startup()
$xx = _GDIPlus_ImageGetWidth (_GDIPlus_ImageLoadFromFile($path & $1[$i]))
$yy = _GDIPlus_ImageGetHeight (_GDIPlus_ImageLoadFromFile($path & $1[$i]))
; тут у меня идут математические вычисления с $y, не затрагивая _GDIPlus, но суть не в этом
FileWriteLine ("222.txt", $1[$i] & " " & $xx & "x" & $yy)
_GDIPlus_ShutDown ()
Next
Next
Стал экспериментировать и искать проблему и обнаружилось, что, убрав первый цикл, выдает нормальные значения.
Код:
For $i = 0 To UBound ($1) - 1
_GDIPlus_Startup()
$xx = _GDIPlus_ImageGetWidth (_GDIPlus_ImageLoadFromFile($path & $1[$i]))
$yy = _GDIPlus_ImageGetHeight (_GDIPlus_ImageLoadFromFile($path & $1[$i]))
FileWriteLine ("111.txt", $1[$i] & " " & $xx & "x" & $yy)
_GDIPlus_ShutDown ()
Next
Вопрос: Чем помешал цикл ? даже пустой. И еще, чем больше первый цикл, тем раньше начинает глючить. Например при первом цикле до 6, глючить начинает произведя 9500 вычислений, а при цикле до 7 глючит произведя 8000 вычислений.