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

    > Ты бы еше квадрат тупо красным залал…

    Какая разница, нормальный рисунок. Ну взял я другую фотку все ок
  • homm © (14.10.07 21:59) [61]
    > [56] DVM ©   (14.10.07 21:53)
    > Закат.jpg

    Они разные получаются!! :)
    http://homm86.narod.ru/files/resize2.png


    > [59] antonn ©   (14.10.07 21:55)
    > осторожно, у меня рядом дети сидят %)
    Оригинал слить? :)
  • homm © (14.10.07 22:00) [62]
    > [56] DVM ©   (14.10.07 21:53)
    > Закат.jpg

    Они разные получаются!! :)
    http://homm86.narod.ru/files/resize2.png


    > [59] antonn ©   (14.10.07 21:55)
    > осторожно, у меня рядом дети сидят %)
    Оригинал слить? :)
  • DVM © (14.10.07 22:04) [63]
    Итак, проведем эксперимент.

    1) Берем исходную фотку: http://dvmuratov.narod.ru/1.bmp  (3 мб)
    2) Натравливаем на фотку этот код:


    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(1000, 1000, 32);
    T := GetTickCount();
    for i := 0 to 0 do begin
      Bilinear32(BMP1,BMP2);
    end;
    ShowMessage(inttostr(Gettickcount-t));
    BMP2.Draw(image2.Canvas.Handle, 0, 0);
    BMP2.SaveToFile('C:\2.BMP');
    end;



    2) Открываем файл 1 в фотошопе (версия 8)
    3) Открываем файл 2 в фотошопе
    4) Меняем размеры первого файла на 1000*1000 с билинейной фильтрацией без сохранения пропорций.
    5) Перетаскиваем на первый файл слой из вторгго файла
    6) делаем сравнение

    У меня абсолютное совпадение т.е. черный квадрат
  • homm © (14.10.07 22:05) [64]
    > [63] DVM ©   (14.10.07 22:04)
    > Меняем размеры первого файла на 1000*1000

    Стоп, откуда такая цифра???


    > [53] DVM ©   (14.10.07 21:31)
    > уменьшил вообще до 100х100
  • homm © (14.10.07 22:05) [65]
    [51] прочти.
  • DVM © (14.10.07 22:06) [66]

    > homm ©

    Саш, ей богу у меня одинаковые, я уж другую фотку взял с разными цветами и бабочкой.
  • DVM © (14.10.07 22:06) [67]

    > Стоп, откуда такая цифра???

    от балды
  • homm © (14.10.07 22:08) [68]
    сравни, 100*100, как ты сказал, или уменьшеную в 4, как я сказал, не береи от балды! :)
  • DVM © (14.10.07 22:12) [69]

    > homm ©

    Получил я разницу. Но она появляется далеко не на всех изображениях и не при любых размерах.
  • homm © (14.10.07 22:14) [70]
    Н авсех изображениях (кроме залитого ккрасным цветом квадрата) на разрешениях, которые я уже оговорил, и даже причину, по которой эти ограничения получаются, тоже сказал.
  • DVM © (14.10.07 22:35) [71]

    > homm ©

    кстати, а с чего ты вообще взял, что картинки должны быть абсолютно идентичны. Алгоритмы отличаются. Но не настолько, чтобы одна картинка была заметно хуже другой.

    Вот я взял для примера две программы одна Photoshop, другая Macromedia FireWorks (теперь тоже адобе). Я думаю, ты не будешь спорить с реализацией алгоритмов сглаживания у этих компаний. Так вот, для одной и той же картинки для размера 100*100 они дают разные результаты. Причем разница между ними даже больше, чем у FastDIB и фотошопа. Так что это не показатель.
  • antonn © (14.10.07 22:56) [72]
    долго ругаться будете? :) у ветки и так мега положительная полезность :)

    homm ©
    а есть на асме блитинг (с альфой или просто "прозрачный цвет") двух битмапов (либо просто массивов)?
  • DVM © (14.10.07 23:01) [73]

    > homm ©  

    Кстати, твой вариант у меня так и не заработал.
    Вот, что он делает из 24 бит картинки, потом AV

    http://dvmuratov.narod.ru/3.BMP (500 кб)
  • homm © (14.10.07 23:33) [74]
    > [71] DVM ©   (14.10.07 22:35)
    > Но не настолько, чтобы одна картинка была заметно хуже другой.
    А он хуже ;)

    > Причем разница между ними даже больше, чем у FastDIB и фотошопа.
    Ты уверен, что в Macromedia FireWorks было именно билинейное сглаживание?


    > [72] antonn ©   (14.10.07 22:56)
    > а есть на асме блитинг
    У меня нет, хотя пора бы уже :)

    > Кстати, твой вариант у меня так и не заработал.
    http://homm86.narod.ru/files/resize.rar 130 kb.
  • DVM © (15.10.07 00:11) [75]

    > Ты уверен, что в Macromedia FireWorks было именно билинейное
    > сглаживание?

    там явно выбирается при сохранении, как и в фотошопе
  • DVM © (15.10.07 00:15) [76]

    > http://homm86.narod.ru/files/resize.rar 130 kb.

    че-то не скачивается
  • homm © (15.10.07 06:07) [77]
    > [76] DVM ©   (15.10.07 00:15)
    > че-то не скачивается

    Счас должно.
  • sdubaruhnul © (15.10.07 15:16) [78]
    Так что выяснили то, что можно реализовать 2-хкратное уменьшение быстрее, чем универсальное в FastDIB?
  • homm © (15.10.07 15:19) [79]
    > [78] sdubaruhnul ©   (15.10.07 15:16)
    > Так что выяснили то, что можно реализовать 2-хкратное уменьшение
    > быстрее, чем универсальное в FastDIB?

    Да. 2-х, 4-х, 8-и, сколько угодно кратное.
 
Конференция "Media" » Качественное и быстрое масштабирование картинки [D6, WinXP]
Есть новые Нет новых   [134430   +3][b:0.001][p:0.001]