Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
#1

На экране на печати другое - C++

02.08.2012, 10:02. Просмотров 373. Ответов 8
Метки нет (Все метки)

ЗдраствуйтеЗделал функцию рисования одной картинки на экране все отображается нормально а при печати все линии умкньшнлисьвместе с текстом...Короче все разьехалось подскажыте плиз какие то координаты там есть свои или в чнм причина?Всем спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2012, 10:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос На экране на печати другое (C++):

Программа для синтаксического анализа и расчета строки по разным выражения и печати на экране - Java SE
Напишите программу в консоли для синтаксического анализа и расчета строки по разным выражения и печати на экране. Если строка содержит...

.NET 2.x Контроль печати: время печати, количество распечатанных страниц, название файла - C#
Здравствуйте. К компьютеру на Windows XP подключено 2 принтера (хотя драйверов стоит на 4 принтера, 2 из них уже не активны, но в списке...

Фабрика печати Epson или лазерный принтер для ч/б печати - Принтеры, МФУ
Здравствуйте! Нужен практичный принтер с (!)дешёвой стоимостью печати. Печатаю в основном документы, книги. Сейчас стоит canon mp230 с...

Как при печати отчета программно установить параметры печати? - Visual Basic
как при печати отчета ( VBA ) программно установить параметры печати ( ширину полей )

Kyocera FS-1370DN не сохранятся профиль печати при печати из под общего доступа - Принтеры, МФУ
Добрый день уважаемые форумчане !!! в недавнем времени приобрели такой аппарат - Kyocera FS-1370DN. Печать нужна в основном для 1с-ки...

Определить диапазон печати, если "Область печати не задана" - VBA
Здравствуйте, уважаемые форумчане! Прошу у вас помощь. Мне необходимо для листов определять диапазон (прямоугольную область), который...

8
zss
Модератор
Эксперт С++
6405 / 5971 / 1945
Регистрация: 18.12.2011
Сообщений: 15,402
Завершенные тесты: 1
02.08.2012, 10:37 #2
Изображения на экране и на бумаге имеют разную плотность выводимых пикселов DPI
(у принтера обычно 600, а на экране 75).
Поэтому на принтере изображение выглядит существенно меньшим.
0
Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
02.08.2012, 16:06  [ТС] #3
А можете написать сколько пикселов на сантиметр у принтера плиз
0
Dem0Men
9 / 9 / 0
Регистрация: 19.02.2012
Сообщений: 32
02.08.2012, 16:15 #4
Покажите ваш код печати!
upd: Количество точек на сантиметров у всех принтеров может быть различно, т.к. абсолютного стандарта нет.
0
Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
02.08.2012, 22:34  [ТС] #5
Та я вот попробовал умножить каждую координату на 2.45 в виртуальной вроде норм посмотрим завтра как на физическом принтере будет
0
Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
05.08.2012, 08:41  [ТС] #6
Не что то не то на виртуальной было норм а на физической опять малое изображение что это?
0
Dem0Men
9 / 9 / 0
Регистрация: 19.02.2012
Сообщений: 32
05.08.2012, 17:55 #7
Dima_c8, код в студию!
2)Почему вы думаете, что DPI у виртуал принтера и физического совпадают?
0
Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
05.08.2012, 21:12  [ТС] #8
Код выложу завтра потомучто щас с телефона.2)-Я в печати вабще новичек я думал что виртуал и физичиская печати одинаковы
0
Dima_c8
4 / 4 / 0
Регистрация: 17.12.2011
Сообщений: 148
08.08.2012, 13:11  [ТС] #9
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
BOOL PrintMyPage()
     {
     PRINTDLG pd;
    ZeroMemory(&pd, sizeof(PRINTDLG));
 
    // populate it
    pd.lStructSize  = sizeof(PRINTDLG);
    pd.hwndOwner    = hwndPrnMain;
    pd.hDevMode     = NULL;
    pd.hDevNames    = NULL;
    pd.Flags        = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC;
    pd.nCopies      = 1;
    pd.nFromPage    = 0xFFFF;
    pd.nToPage      = 0xFFFF;
    pd.nMinPage     = 1;
    pd.nMaxPage     = 0xFFFF;
 
    PrintDlg(&pd);
 
    // declare a DOCINFO structure and populate it
    DOCINFO di;
 
    di.cbSize       = sizeof(DOCINFO);
    di.lpszDocName  = "Glowdot Port Scanner";
    di.lpszOutput   = (LPTSTR)NULL;
    di.fwType       = 0;
 
    // Print the job
    StartDoc (pd.hDC, &di);
   for( int i = 0; i < howpages; i++ )
   {
            StartPage(pd.hDC);
 
            ShowBlank( pd.hDC);//рисуем
 
            EndPage(pd.hDC);
         tpage = i;
         if( tpage > howpages )tpage = 0;
   }
    EndDoc(pd.hDC);
 
    DeleteDC(pd.hDC);
 
    return TRUE;
 
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2012, 13:11
Привет! Вот еще темы с ответами:

Нарисовать лес на экране (нарисовать дерево, и размножить его на экране) - Pascal ABC
73. Нарисовать лес на экране (нарисовать дерево, и размножить его на экране)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
08.08.2012, 13:11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru