Конференция "Media" » Качественное и быстрое масштабирование картинки [D6, WinXP]
 
  • DVM © (14.10.07 20:10) [40]

    > homm ©  

    Сравнивать в данном случае некорректно. Функции FastDIB рассчитаны на произвольный размер, а не на уменьшение в 2 раза.
  • homm © (14.10.07 20:11) [41]
    Действительно, делает :)
    109 секунд делает :)
  • homm © (14.10.07 20:12) [42]
    А у меня за одну :)
  • DVM © (14.10.07 20:13) [43]

    > Действительно, делает :)
    > 109 секунд делает :)

    че то тут не так
  • homm © (14.10.07 20:13) [44]
    > [40] DVM ©   (14.10.07 20:10)
    > Сравнивать в данном случае некорректно.

    Я об этом сразу сказал, просто ты кое кто считает, что я «зря фразами кидаюсь» ;)
  • homm © (14.10.07 20:15) [45]
    > [43] DVM ©   (14.10.07 20:13)
    > че то тут не так

    Я итебе скажу, что тцт не так :)
    procedure SmoothResize24(Src,Dst:TFastDIB;Filter:TResizeFilter);
           if s<1 then pw^.w:=Round(f((m-pw^.pos)*s)*s*$10000)


    Вот эта вот букавка F — это вызов функции… Для каждого пикселя… естествеено это жопа.
  • DVM © (14.10.07 20:20) [46]

    > homm ©   (14.10.07 20:15) [45]

    Точно.
  • DVM © (14.10.07 21:13) [47]

    > homm ©   (14.10.07 20:07) [38]
    > Для пущей наглядности предлагаю сравнить как один слой на
    > другом, выставив для верхнего режим Difference.

    Кстати все ок. 1 к 1 как в фотошопе.
  • DVM © (14.10.07 21:15) [48]
    5200 мсек занимет 1000 масштабирований с билинейной фильтрацией
  • DVM © (14.10.07 21:20) [49]

    procedure TForm1.Button2Click(Sender: TObject);
    var
    BMP1: TFastDIB;
    BMP2: TFastDIB;
    t,i : DWORD;
    begin
    BMP1 := TFastDIB.Create;
    BMP1.LoadFromFile('c:\1.bmp');

    BMP2 := TFastDIB.Create;
    BMP2.SetSize(512, 384, 32);
    T := GetTickCount();
    for i := 0 to 999 do begin
      Bilinear32(BMP1,BMP2);
    end;
    ShowMessage(inttostr(Gettickcount-t));
    BMP2.Draw(image2.Canvas.Handle, 0, 0);
    BMP2.SaveToFile('C:\2.BMP');
    end;



    Файл 2 и полученный в фотошопе после масштабирования с билинейной фильтрацие идентичны.

    Так что не надо гнать на FastDIB. :) Если учесть, что это результат для произвольных размеров, а не для 2 или 4, то он не хуже чем твой. Следовательно FastDIB обогнать все же сложно.
  • homm © (14.10.07 21:23) [50]
    > [49] DVM ©   (14.10.07 21:20)
    > Файл 2 и полученный в фотошопе после масштабирования с билинейной
    > фильтрацие идентичны.


    > [37] homm ©   (14.10.07 20:06)
    > Можеь проверить результат, полученый в фотошопе при уменьшении в ЧЕТЫРЕ раза.
  • homm © (14.10.07 21:25) [51]
    В том, и штука, что он берет исходный пиксель и 2 соседних, результат верен только для 2-х кратного и менее-кратного ументшения :)
  • DVM © (14.10.07 21:27) [52]

    > > Можеь проверить результат, полученый в фотошопе при уменьшении
    > в ЧЕТЫРЕ раза.

    Все ок. Проверь сам. Может ты неправильно фильтрацию в фотошопе случайно выбрал?
  • DVM © (14.10.07 21:31) [53]
    уменьшил вообще до 100х100 , т.е. с изменением пропорций. Результат идентичен фотошоповскому. Увеличил до 1000х1000 - тоже идентично.
  • homm © (14.10.07 21:50) [54]
    http://homm86.narod.ru/files/resize.png (60 kb)
    1) FastDIB
    2) Photoshop
    3) Их разность :)
  • DVM © (14.10.07 21:51) [55]

    > 3) Их разность :)

    а сдвинуть слои не пробовал?
  • DVM © (14.10.07 21:53) [56]

    > homm ©   (14.10.07 21:50) [54]

    у тебя картинка какой цветности? 24 или 32?
    Функцию FastDIB берешь какую?

    я работаю с картинкой из папки мои рисунки (Закат.jpg), которую я фотошопом увеличил до 1024 на 768 32 бит цвет и сохранил в BMP.
  • homm © (14.10.07 21:54) [57]
    Куда сдвигать, они разные!! Приглядись к первой и второй картинке, они очень разные!
  • homm © (14.10.07 21:55) [58]
    > [56] DVM ©   (14.10.07 21:53)
    > у тебя картинка какой цветности? 24 или 32?

    32, Bilinear32


    > Закат.jpg
    Ты бы еше квадрат тупо красным залал…
  • antonn © (14.10.07 21:55) [59]

    > homm ©   (14.10.07 21:50) [54]

    осторожно, у меня рядом дети сидят %)
 
Конференция "Media" » Качественное и быстрое масштабирование картинки [D6, WinXP]
Есть новые Нет новых   [120092   +50][b:0.001][p:0.001]