Выложите на C#, мне как-то все равно.

"Ну я же не могу рабочий код выкладывать, NDA все-таки." -- так и я о том же...:миг:
"А как же 3*4? ... Я передам $old_y == 0. И у вас выполнится лишняя работа: ... @round($x*$y)"
Вы таки невнимательны. И достаточно сильно. Там було уже выше 3*4 - НЕ ИСПОЛЬЗУЕТСЯ де факто. Оба параметра - размеры ОДНОЙ (исходной) картинки... а, передайте! Можно в личку... я попробую залить на портал ТАКУЮ картинку... заодно и посмотрю как она выглядит...:миг:
Поскольку не пишите на ПХП, то там проблема не в самом делении, а в операторе "@" перед именем... он затыкает вывод ошибок "напрочь". То есть это означает "ИСПОЛНИТЬ МОЛЧА невзирая на ошибки"...
что и озадачило в том "что было"... т.е. уже кто-то на деление на ноль в этом месте кода нарывался явно...

Я бы тоже предпочел корошо проектированный, документированный, высоко оптимизированный и красиво писанный код... но приходится править то, что есть. Увы.

На каком "подъеме"??? То что всё больше плохого кода пишется, всё большим количеством участников этого копропроцесса??? Гы. Там, ежели вчё IBM-овцы потихоньку пилят свои автописательские проги... вот когда уровень ручного ГК станет сопоставим или ниже с автоматическим ГК... куда-куда "все пойдут"?:миг:А впрочем, может оно так и надо.

Нормальные мужики. Оба. И много других не хуже. Просто это не "просматривать" надо, а в пальцах иметь...

"Только так, только личная инициатива и напряженная работа над собой. .. Нужно своей собственной рукой все делать" (с) В.В. Путин:улыб:(а не на "вертикаль власти" надеяться)