Если у кого-нибудь имеется реализация алгоритма Ланцоша на ассемблере - просьба выложить исходный код. Задача такова: необходимо изменять размеры изображения, желательно очень быстро Поскольку размер самих изображений достаточно большой, resize одной картинки занимает до нескольких секунд. На данный момент фильтр выполняет следующая процедура (Pascal): Код (Text): function Lanczos3Filter(Value: Single): Single; function Sin(const X: Extended): Extended; asm FLD X FSIN FWAIT end; function SinC(Value: Single): Single; begin if (Value <> 0.0) then begin Value := Value * Pi; Result := sin(Value) / Value end else Result := 1.0; end; begin if (Value < 0.0) then Value := -Value; if (Value < 3.0) then Result := SinC(Value) * SinC(Value / 3.0) else Result := 0.0; end; Помогите, пожалуйста, либо переписать эту процедуру на ассемблер, либо подскажите ссылку на исходный код. Гуглом пользовался - без особых результатов.
Это процедура не имеет никакого отношения к ресайзингу. А для быстрого ресайзинга нужно использовать видеокарту
Эта процедура производит сглаживание картинки. Я же указал на это: . А чтобы для ресайза использовать видеокарту, вы мне предлагаете DirectX / OpenGL - решение? Почему-то мне кажется, что оно будет довольно непростым. Хотя, спасибо за новое направление поиска.