Форум: "Прочее";
Текущий архив: 2015.04.12;
Скачать: [xml.tar.bz2];
ВнизGDI. SetWorldTransform() и сглаживание Найти похожие ветки
← →
Plastic Wax (2014-08-24 13:20) [0]Поворачиваю DC через SetWorldTransform(). Потом рисую на него изображение через BitBlt(). Делаю SetStretchBltMode(DC, HALFTONE), но изображение всё равно выводится с зубчиками.
Как это исправить?
← →
junglecat (2014-08-24 14:30) [1]http://www.codeproject.com/Articles/13360/Antialiasing-Wu-Algorithm
← →
Plastic Wax (2014-08-24 15:22) [2]Это для линий.
← →
invis (2014-08-24 16:11) [3]Чтобы SetStretchBltMode повлияло, надо рисовать через StretchBlt.
← →
Plastic Wax (2014-08-24 17:03) [4]Попробовал рисовать через StretchBlt(), результат тот же. Странно.
← →
Павиа (2014-08-24 18:30) [5]Сменить GDI на что нибудь с антилясингом к примеру на agg.pas
← →
junglecat (2014-08-25 10:28) [6]http://stackoverflow.com/questions/10633400/rotate-bitmap-by-real-angle
← →
invis (2014-08-25 13:19) [7]С Graphics32 чувак не разобрался, сглаживание там точно есть, причём качественное (бикубический фильтр и т.п.), хотя конечно работает медленно.
← →
DVM © (2014-08-25 16:12) [8]в GDI+ есть сглаживание
← →
Plastic Wax (2014-08-25 19:33) [9]Graphics32, GDI+ не хочу использовать. Тем более компоненты.
← →
DVM © (2014-08-26 10:40) [10]
> Plastic Wax (24.08.14 17:03) [4]
> Попробовал рисовать через StretchBlt(), результат тот же.
> Странно.
Чего странного то, этот флаг на масштабирование распространяется, причем тут поворот координат. Нет в GDI антиалиасинга и не будет. Либо рисуешь сам с алгоритмами антиалиасинга (весьма непросто), либо сглаживаешь всю картинку после рисования перед выводом на экран (так делают многие векторные граф редакторы для увеличения скорости отрисовки) или используешь библиотеки умеющие делать антиалиасинг.
> GDI+ не хочу использовать.
И чем это обусловлено? Он во всех современных Windows присутствует по умолчанию.
← →
KilkennyCat © (2014-08-26 15:42) [11]
> GDI+
мне понравился. я на нем офигенные динамичные индикаторы делал.
← →
Plastic Wax (2014-08-26 21:58) [12]
> DVM © (26.08.14 10:40) [10]
> либо сглаживаешь всю картинку после рисования
> перед выводом на экран
Да, этот метод будет в самый раз.
Только быстрый способ наверное трудно будет найти.
> И чем это обусловлено?
Новое API. Я привык к GDI.
← →
KilkennyCat © (2014-08-27 06:24) [13]
> Новое API. Я привык к GDI.
ну дык пора отвыкать.
Этому "новому" более 10 лет уже. Переход на него занимает 1 день.
Так что, бредовые отмазки...
← →
brother © (2014-08-27 06:34) [14]может на что-то серьезное уйти, zengl например?
← →
Plastic Wax (2014-08-27 12:37) [15]Ок.
Я вывожу всю графику на TBitmap, потом его переношу на канву, чтобы не мерцало.
Буду конечную картинку сглаживать с помощью GDI+. Только пока в это не вникал.
> brother © (27.08.14 06:34) [14]
>
> может на что-то серьезное уйти, zengl например?
Слишком громоздко, что ли. Мне нужно сделать красивый интерактив малыми средствами. Я его почти сделал. Ничего не тормозит. Осталась проблема сглаживания.
← →
brother © (2014-08-27 13:44) [16]> красивый интерактив малыми средствами
анимацию в некоторых местах канвы покрутить? если да, то Graphics32 самое оно, можно конечно и TBitmap, но он тормознутый по сравнению с первым...
← →
Plastic Wax (2014-08-27 16:57) [17]
> brother © (27.08.14 13:44) [16]
>
> > красивый интерактив малыми средствами
>
> анимацию в некоторых местах канвы покрутить? если да, то
> Graphics32 самое оно, можно конечно и TBitmap, но он тормознутый
> по сравнению с первым...
>
Всё уже на TBitmap завязано.
Осталось сделать сглаживание.
← →
DVM © (2014-08-27 17:11) [18]
> Plastic Wax (27.08.14 16:57) [17]
Попробуй, может работает http://www.swissdelphicenter.ch/torry/showcode.php?id=1484
вообще по запросу TBitmap antialiasing гуглится масса ответов.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2015.04.12;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.002 c