Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Вниз

линии   Найти похожие ветки 

 
cava ©   (2007-07-12 17:49) [0]

Как нарисовать на форме линию размером от 1мм-1000мм?


 
Инс ©   (2007-07-12 17:53) [1]

Так какого же все-таки размера? :)

А вообще - гляньте функцию SetMapMode, если я правильно телепатировал...


 
engine ©   (2007-07-12 17:53) [2]

Ну я так думаю, что надо знать размер зерна у монитора и текущее разрешение.


 
cava ©   (2007-07-12 17:57) [3]

А пример можно какой -нибудь?


 
Amoeba ©   (2007-07-12 17:58) [4]


> engine ©   (12.07.07 17:53) [2]
>
> Ну я так думаю, что надо знать размер зерна у монитора и
> текущее разрешение.
>

А если возьмем CRT монитор и поиграемся размером изображения на мониторе? Какие будут выводы?


 
Jeer ©   (2007-07-12 18:00) [5]


> cava ©   (12.07.07 17:49)
>
> Как нарисовать на форме линию размером от 1мм-1000мм?


Хороший у тебя монитор.


 
engine ©   (2007-07-12 18:02) [6]

> [4] Amoeba ©   (12.07.07 17:58)

Вывод один - поставлять с программой LCD


 
Amoeba ©   (2007-07-12 18:02) [7]


> cava ©   (12.07.07 17:49)
>
> Как нарисовать на форме линию размером от 1мм-1000мм?


Для начала см. WinApi ф-ию SetMapMode


 
Amoeba ©   (2007-07-12 18:06) [8]


> engine ©   (12.07.07 18:02) [6]
>
> > [4] Amoeba ©   (12.07.07 17:58)
>
> Вывод один - поставлять с программой LCD
>

В случае CRT настраивать размер изображения на мониторе подгонкой размера выводимого на экран программой эталона к обычной линейке. Вобщем, потребуется индивидуальная калибровка.


 
Инс ©   (2007-07-12 18:48) [9]


> [7] Amoeba ©   (12.07.07 18:02)


Чукча не читатель? ;-)


> А пример можно какой -нибудь?


Можно:

procedure TForm1.FormPaint(Sender: TObject);
begin
 // Логическая единица равна 0.1 мм
 SetMapMode(Canvas.Handle,MM_ISOTROPIC);
 SetViewPortOrgEx(Canvas.Handle,0,0,nil);
 ScaleWindowExtEx(Canvas.Handle,1,1,1,-1,nil);
 // Квадрат со сторонами 3 см
 Canvas.Rectangle(0,0,300,300);
end;


 
Вася Правильный   (2007-07-12 19:25) [10]

это уже не линия, а прямоугольник
кстати, рисование именно линий даст закругленные концы


 
Virgo_Style ©   (2007-07-12 21:43) [11]

Amoeba ©   (12.07.07 18:06) [8]
В случае CRT настраивать размер изображения на мониторе подгонкой размера выводимого на экран программой эталона к обычной линейке. Вобщем, потребуется индивидуальная калибровка.


В случае CRT с идеальной геометрией, позволю себе уточнить


 
Anatoly Podgoretsky ©   (2007-07-12 22:42) [12]

> Virgo_Style  (12.07.2007 21:43:11)  [11]

И с идеальной стабильностью изображения, что никакие характеристики не влияли на размер по времени, ни яркость, ни напряжение питания и так далее. Иначе калибровка имеет ограниченое действие.


 
Однокамушкин   (2007-07-13 08:50) [13]


> Вася Правильный   (12.07.07 19:25) [10]
> кстати, рисование именно линий даст закругленные концы

Это смотря какими перьями пользоваться... если не косметическими, а геометрическими, то можно самому выбирать форму концов из трёх вариантов: PS_ENDCAP_ROUND, PS_ENDCAP_SQUARE и PS_ENDCAP_FLAT...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.04 c
2-1184177481
Kolan
2007-07-11 22:11
2007.08.12
Как динамически создать Separator в MainMenu?


11-1167313840
D[u]fa
2006-12-28 16:50
2007.08.12
Memo.Add


2-1184649833
Kolan
2007-07-17 09:23
2007.08.12
Записи в DBGrid e странным образом исчезают.


1-1180596113
Victor_Ked
2007-05-31 11:21
2007.08.12
Завершена ли передача файла по сети


3-1177453476
TTable
2007-04-25 02:24
2007.08.12
Как получить указатель на строку в Table1.Fields[2].AsString ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский