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

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

И снова о масштабах (пиксел*мм) при печати из Image [D5, Win95/98]


Serg2002 ©   (2002-06-06 08:47:00) 

Мастера! И не только!
Где-то уже было, но не все понятно. Нужно - распечатать картинку из Имаге, чтобы она была нормальных размеров и качества. Делал так:
procedure TForm1.Button1Click(Sender: TObject);
var
ScaleX, ScaleY:Integer;
R:TRect;
begin
with Printer do
begin
BeginDoc;
try
ScaleX:=GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch;
ScaleY:=GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch;
R:=Rect(0, 0, Width*ScaleX, Height*ScaleY);
Canvas.StretchDraw(R, Image1.Picture.Bitmap);
finally;
EndDoc;
end;
end;

end;

end.
Итог: чтобы узнать кнопку Пуск, пришлось повесить лист на стену и выйти в коридор :))) (точки вышли разером по 5мм).
Вопросы: Что я сделал не так? Указажите (тыкнете носом) на ошибки. И ессно комментарии. На понятном языке:))
Заранее благодарен.
з.ы. если поможет, принтер НР ДиДжей 400


Song   (2002-06-06 08:55:00) [1]

А Width и Height-то у Вас какие берутся ? Правильно, формы :))))
...
R:=Rect(0, 0, Image1.Width*ScaleX, Image1.Height..*ScaleY);
...
Кстати, код в конфенренцию давал я. Там было всё правильно.


Наверх

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