Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Рисование сглаженных линий в Delphi

373
24 октября 2008 года
unmoved
216 / / 28.11.2004
У меня существует проблема рисую фигуры и линии стандартными методами в Delphi(GDI). bitmap.canvas.lineto... Но линии получаються не ровными при печати смотряться вообще ужасно. Как нарисовать сглаженные линии какой метод можно использовать, пожалуйста с примерами... при этом мне нужно четко знать размер фактического изображения.
5
24 октября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: unmoved
Как нарисовать сглаженные линии какой метод можно использовать, пожалуйста с примерами...

Использовать GDI+

373
24 октября 2008 года
unmoved
216 / / 28.11.2004
Пожалуйста приведи пример
5
24 октября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: unmoved
Пожалуйста приведи пример


Ай яй яй.
Какие мы ленивые. Поиск уже давно не рулит, ага?
Гугл. Королевство Делфи.

373
24 октября 2008 года
unmoved
216 / / 28.11.2004
Спасибо, буду пробывать, и экспериметрировать.... сенкс, если у кого есть другие мнения, я буду очень признателен и тоже проверю... Постараюсь потом кому надо пиво поставить)
14
24 октября 2008 года
Phodopus
3.3K / / 19.06.2008
Другие мнения? Самостоятельно растеризовать отрезок алгоритмом Ву, какие еще могут быть мнения??!
373
26 октября 2008 года
unmoved
216 / / 28.11.2004
Сделай экспиремент, нарисуй фигуры в ms word, просто линии с разным градусом и распечатай..., теперь скопирую эти линии в ставь в фотошоп и распечатай, можешь даже сам там линии нарисовать... Заметна разница??? Вот я хочу иметь такие же линии четкие, а не растровое сглаживание...

Как этого добиться, не ужто это единств. способ?
5
26 октября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: unmoved
Как этого добиться, не ужто это единств. способ?

Вот это и есть отличие векторной графики от растровой.
GDI+ умеет отлично сглаживать, что правда отражается на его производительности (многое выполняется на процессоре) - быструю игровую графику на нем не сделаешь, а вот для редактора графического сгодится вполне.

14
27 октября 2008 года
Phodopus
3.3K / / 19.06.2008
Цитата: unmoved
нарисуй фигуры в ms word, просто линии с разным градусом и распечатай..., теперь скопирую эти линии в ставь в фотошоп и распечатай, можешь даже сам там линии нарисовать... Заметна разница???


А ворд и фотошоп по разному сглаживают линии что-ли? Никогда не обращал внимания, попробую. А GDI+ рисует как фотошоп - луший вариант? Если да - надо просто выяснить используемый ею алгоритм и все..

5
27 октября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Phodopus
Если да - надо просто выяснить используемый ею алгоритм и все..

И нафига оно нужно? В GDI+ несколько уровней сглаживания.
Модули дельфийские для работы с GDI+ уже давно по всей Сети валяются - это пара минут поиска.

373
27 октября 2008 года
unmoved
216 / / 28.11.2004
Парни Вы меня не понимаете.... Я говорю ПРИ ПЕЧАТИ... Про то как они на экране выглядят мне глубоко пофигу...
Я хочу при печати видеть линиию как будто я её сам нарисовал, а не сглаженные квадратики!!!!

Ну например если взять printer.canvas и там линии нарисовать ,а потом на принтер отправить, то я получу те самые красивые линии..., но печатать из Delphi я не хочу, а хочу делать экспорт в растр или вектор формат, и печатать скажем из брауузера, но нифига не выходит...
5
27 октября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: unmoved
Ну например если взять printer.canvas и там линии нарисовать

GDI+ умело кажется в метафайлы писать...
А вот TGraphics какраз-таки можно создать поверх принтераовской канвы, достаточно HDC получить (Printer.Canvas.Handle).

14
27 октября 2008 года
Phodopus
3.3K / / 19.06.2008
При печати.. Ну что могу сказать - для растрового изображения метод тот же - рисовать сглаженные линии, тобишь с оттенками серого и в принтерном разрешении (300dpi или больше - под конкретный принтер). Если сохраняешь в векторный формат, тут, имхо, от печатающей программы зависит. Хотя! пробегала где-то инфа что в майкрософтском emf-е появились флаги сглаживания фигур. Сам столкнулся с этим когда emf-ки из 2003-ей Visio криво импортировались во флеш, криво просматривались некоторыми Viewer-ами. Вроде корректно только XP-шным Fax & Image Viewer - сейчас уже не вспомню. Возможно надо копать в эту сторону. А может это вообще про градиентную заливку было.
373
29 октября 2008 года
unmoved
216 / / 28.11.2004
что то я совсем выхода не нахожу, думал сделать экспорт в Word через activx, ток для openoffice это схема не пройдет, ну точнее пройдет, но там совершенно другой интрфейс с которым все плуються...

Печатать из Delphi, тож не хочеться, можно конечно попробывать использовать генератор отчетов, но там качество печати линий думаю не лучше, будет... Может кто еще варианты предложит куда можно сделать экспорт данных, что потом была возможна номральная печать линии(ну как в word) и при том система была бесплатной
303
29 октября 2008 года
makbeth
1.0K / / 25.11.2004
А чем не устраивает вариант сначала нарисовать все на картинку (Bitmap) с помощью GDI+, а потом уже ее "рисовать" на канве принтера?

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог