Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как задать толщину линии TPen.Width равную 1 мм?


Страницы:   1 2

Д С ©   (2008-09-21 19:20:00) 

По идее нужно 1 мм умножить <количество точек/мм>. А какое <количество точек/мм> использовать: то, что по-горизонтали или то, что по-вертикали?


Дмитрий Белькевич   (2008-09-22 03:10:00) [1]

p.s. представь, что пиксель может быть не только неквадратным, но и некубическим ;) Мы как раз с такими, среди прочего, работаем.


Дмитрий Белькевич   (2008-09-22 03:07:00) [2]

В какой строчке ты увидел высокомерие? Тебе же всё разжевали вроде, а ты всех кнопальщиками за это обозвали.

>Конструктивно:
>Что вписать в этом случае?

Конструктивно: пиксель может быть неквадратным.


Германн   (2008-09-22 02:59:00) [3]


> Дмитрий С   (22.09.08 02:12) [28]
>
> Какие все высокомерные :) Интересно, это жить не мешает?
>
>

Не. Не мешает.


Дмитрий С   (2008-09-22 02:12:00) [4]

Какие все высокомерные :) Интересно, это жить не мешает?


Германн   (2008-09-22 02:05:00) [5]


> Дмитрий С   (22.09.08 01:51) [26]
>
>
> > Эээ. А что есть "наша профессия"?
>
> Кнопальщик :))
>

Не. Это не моя профессия. Примите и прочь!


Дмитрий С   (2008-09-22 01:51:00) [6]


> Эээ. А что есть "наша профессия"?

Кнопальщик :))


Германн   (2008-09-22 01:40:00) [7]


> В нашей профессии главное не нерусский знать, а деньги зарабатывать
> ;)

Эээ. А что есть "наша профессия"?


Д С   (2008-09-22 01:33:00) [8]


> Германн ©   (22.09.08 01:27) [23]

В нашей профессии главное не нерусский знать, а деньги зарабатывать ;)
Это, конечно, шутка, но в ней намёк.


Германн   (2008-09-22 01:27:00) [9]


> Дмитрий С   (22.09.08 01:14) [21]

Тогда тебе лучше в дворники. Метле без разницы какой родной язык у её пользователя.
Это конечно шутка, но в ней намёк.


Anatoly Podgoretsky   (2008-09-22 01:23:00) [10]

> Дмитрий С  (22.09.2008 1:14:21)  [21]

Это плохо, но там сказано что все будет ОК


Дмитрий С   (2008-09-22 01:14:00) [11]

Я нерусский не понимаю ))


guav   (2008-09-22 01:02:00) [12]

Не знаю.

http://msdn.microsoft.com/en-us/library/ms532662(VS.85).aspx
Applications that display geometric shapes (circles, squares, polygons, and so on, make use of one of the device-independent mapping modes. For example, if you are writing an application to provide charting capabilities for a spreadsheet program and want to guarantee that the diameter of each pie chart is 2 inches, use the MM_LOENGLISH mapping mode and call the appropriate functions to draw and fill the chart. Specifying MM_LOENGLISH, guarantees that the diameter of the chart is consistent on any display or printer. If MM_TEXT is used instead of MM_LOENGLISH, a chart that appears circular on a VGA display would appear elliptical on an EGA display and would appear very small on a 300 dpi (dots per inch) laser printer.


Дмитрий С   (2008-09-22 00:00:00) [13]

т.е. сама windows ничего не делает при изменении SetMapMode ? Все делает драйвер устройства?


guav   (2008-09-21 23:48:00) [14]

> [17] Д С   (21.09.08 22:58)

Думаешь, они нашли что-то лучше SetMapMode ? Вряд ли, Ворд её импортирует.


Д С   (2008-09-21 22:58:00) [15]


> guav ©   (21.09.08 22:49) [16]

Вот интересно как M$ решила эту проблему.


guav   (2008-09-21 22:49:00) [16]

> [15] Д С   (21.09.08 22:30)

Это ещё решается.
Вопрос что делать в случае эллипса, дуги или кривой Безье. Я ничего лучше использования функций преобразования координат SetMapMode, etc не нашел. Кстати, мой хелловорлд по SetMapMode http://code.progler.ru/view/261.


Д С   (2008-09-21 22:30:00) [17]


>
> По Х используй LOGPIXELSX, а по У - LOGPIXELSY

Конструктивно:
Что вписать в этом случае?
Canvas.Pen.Width = ???;
Canvas.MoveTo(100,100);
Canvas.LineTo(200,300); // линия не вертикальная и не горизонтальная


{RASkov}   (2008-09-21 22:23:00) [18]

Т.е. ширина вертикальной линии задается Х'ом, а горизонт. Y'ком....


{RASkov}   (2008-09-21 22:15:00) [19]

Т.е две функции у тебя должно быть:
function MmToPixX(DC: HDC; const Xmm: Extended): Integer;
function MmToPixY(DC: HDC; const Ymm: Extended): Integer;


{RASkov}   (2008-09-21 22:13:00) [20]

> [11] Д С   (21.09.08 22:11)

По Х используй LOGPIXELSX, а по У - LOGPIXELSY


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо