Комментарии 25
У меня одного картинки не загружаются?
столько текста про красивый текст и ниодной картинки
у меня все картинки отображаются
Опера АС — все отлично…
Это конечно круто и поучительно… но использование такого шрифта в заголовках упомянутого блога — чересчур (три-четыре шрифта на страницу получается).
Ну это всё хорошо, а вот как посмотреть на рабочий пример в ASP.NET?
nesteruk.org/blog — asp.net блог который это использует.
Надеюсь ваш метод никто не будет применять в таком виде, как вы привели его здесь. SetPixel с вызовом ненужных функций внутри двухуровнего цикла это жесть чистой воды и удар по яйцам системе любой мощности. Даже на высокоуровневом .NET это можно было реализовать раз в 50 эффективнее.
отлично!
Замечание: Paragraph — это скорее аналог <p>, а аналог div-а — это Section.
Ну, и для отрисовки SetPixel — это действительно удар по яйцам, как уже говорили. Можно использовать штатный WriteableBitmap, не говоря уже о raw-доступе к пиксельному буферу BitmapSource и 3rd party классах типа VideoRendererElement, которые предоставляют еще более эффективный доступ к пикселям.
Ну, и для отрисовки SetPixel — это действительно удар по яйцам, как уже говорили. Можно использовать штатный WriteableBitmap, не говоря уже о raw-доступе к пиксельному буферу BitmapSource и 3rd party классах типа VideoRendererElement, которые предоставляют еще более эффективный доступ к пикселям.
Хм. А я что-то не понял смысла преобразования. На самой первой картинке текст уже размазанный. Зачем его растягивать и размазывать ещё раз?
Ну. И непонятно, что же всё-таки мешает использовать SVG? Он, конечно, неспешный, но в буквах же не сотни тысяч полигонов для отрисовки. Достаточно быстро должно работать. Плюс пользователь сам может выбрать параметры сглаживания (я вот не люблю antialiasing) и качества отображения. Плюсом SVG даёт корректное масштабирование.
Ну. И непонятно, что же всё-таки мешает использовать SVG? Он, конечно, неспешный, но в буквах же не сотни тысяч полигонов для отрисовки. Достаточно быстро должно работать. Плюс пользователь сам может выбрать параметры сглаживания (я вот не люблю antialiasing) и качества отображения. Плюсом SVG даёт корректное масштабирование.
Просто если не размывать текст по горизонтали, то в последствии «эффект ClearType» будет некрасивый — это описано тут: www.grc.com/ct/cttech.htm
Использовать SVG мешает то, что
- • Не поддерживается в IE ну совсем никак
- • Файлы достигают размера 2Мб, а картинки — всего 4Кб, то есть в 500 раз меньше.
- • Абсолютно непонятно как получить фичи OpenType без шаманства. (с шаманством вроде свой ОТ-библиотеки все работало)
Ну. И небольшая поправка к тексту: наверное, не нужно противопоставлять OpenMP работе с Set/GetPixel. Это вещи всё же из разных категорий. И не факт, кстати, что многопоточность в этой вот конкретно задаче поможет ускорение получить: данные не используются повторно, и вычислений над ними мало, следовательно, всё упрётся в общую шину к памяти или к кэшу. Хотя, проверять надо, конечно.
В данной задаче, совершенно очевидно что многопоточность позволила бы существенно ускорить процесс.
Из-за общей шины к памяти и низкого уровня повторного использования данных совсем не очевидно, imho. Время будет, напишу тест, чтобы это продемонстрировать.
В данной задаче совершенно очевидно, что наличие у автора головы на плечах и рук не из жопы растущих позволили бы существенно ускорить процесс. Многопоточность нужна уже после выполнения этих условий.
WPF в Mono ведь нет от слова совсем, верно? В линуксах не погонять?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Типографика и WPF — Рисуем красивый текст