Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2009, 09:02   #1
kuzmich
Форумчанин
 
Аватар для kuzmich
 
Регистрация: 05.05.2007
Сообщений: 236
Вопрос печать рисунка

добрый день! у меня возникла такая проблемка. как мне вывести компонент Image на печеть используя компонент PrintDialog? Зарание спасибо!
kuzmich вне форума Ответить с цитированием
Старый 23.11.2009, 09:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

http://www.delphiworld.narod.ru/base/print_timage.html
http://www.delphiworld.narod.ru/base/print_timage2.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2009, 14:09   #3
kuzmich
Форумчанин
 
Аватар для kuzmich
 
Регистрация: 05.05.2007
Сообщений: 236
По умолчанию

ну я посидел часика два и написал так:
Код:
var
 aspectratio, outputwidth, outputheight : single;
begin
 if not PrintDialog1.Execute then exit;
 Printer.BeginDoc;
 try
   outputwidth:=Image1.Picture.Width;
   outputheight:=Image1.Picture.Height;
   aspectratio:=outputwidth/outputheight;
   if (outputwidth < printer.PageWidth) and
      (outputheight < printer.PageHeight) then
   begin
    if outputwidth < outputheight then
    begin
     outputheight:=printer.PageHeight;
     outputwidth:=outputheight*aspectratio;
    end
    else
    begin
     outputwidth:=printer.PageWidth;
     outputheight:=outputwidth/aspectratio;
    end
   end;
   if outputwidth > printer.PageWidth then
   begin
    outputwidth:=printer.PageWidth;
    outputheight:=outputwidth/aspectratio;
   end;
   if outputheight > printer.PageHeight then
   begin
     outputheight:=printer.PageHeight;
     outputwidth:=outputheight*aspectratio;
   end;
   Printer.Canvas.StretchDraw(Rect(0,0,Trunc(outputwidth),trunc(outputheight)), Image1.Picture.Graphic);
   finally
   Printer.EndDoc;
  end;
а ваши ссылки мне не помогли!
kuzmich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод рисунка на печать -=<[Evklidd]>=- Мультимедиа в Delphi 10 09.07.2010 18:38
Помогите с вставкой рисунка fire_on Паскаль, Turbo Pascal, PascalABC.NET 2 09.10.2009 01:14
Форма по контуру рисунка nikmay Общие вопросы Delphi 2 29.09.2009 18:39
Помогите с настройкой рисунка GrEFon HTML и CSS 4 13.12.2007 18:52
Разгупировка рисунка asale Microsoft Office Excel 1 23.10.2007 22:30