delphi печать image



Автор Пользователь удален задал вопрос в разделе Другие языки и технологии

Как в Delphi распечатать Image1 и всё что находиться на нём (image, label)? и получил лучший ответ

Ответ от
procedure PrintImage(Image: TImage; ZoomPercent: Integer);
// if ZoomPercent=100, Image will be printed across the whole page
var
relHeight, relWidth: integer;
begin
Screen.Cursor := crHourglass;
Printer.BeginDoc;
with Image.Picture.Bitmap do
begin
if ((Width / Height) > (Printer.PageWidth / Printer.PageHeight)) then
begin
// Stretch Bitmap to width of PrinterPage
relWidth := Printer.PageWidth;
relHeight := MulDiv(Height, Printer.PageWidth, Width);
end
else
begin
// Stretch Bitmap to height of PrinterPage
relWidth := MulDiv(Width, Printer.PageHeight, Height);
relHeight := Printer.PageHeight;
end;
relWidth := Round(relWidth * ZoomPercent / 100);
relHeight := Round(relHeight * ZoomPercent / 100);
DrawImage(Printer.Canvas, Rect(0, 0, relWidth, relHeight),
Image.Picture.Bitmap);
end;
Printer.EndDoc;
Screen.cursor := crDefault;
end;
кусок из рабочей проги
// процедура печати всех объектов которые лежат на Tpanel
//на ней можешь размещать свои image
procedure BitBtn11Click(Sender: TObject);
var
ScreenDC: HDC;
canvas1:Tcanvas;
imag : timage;
begin
// inherited;
imag:=TMyImage.Create(PnTreeImg);
// imag.Name:='PintImg';
imag.Parent := PnTreeImg; //PnTreeImg - просто Tpanel
imag.Visible:=false;
imag.Left:=0;
imag.Top:=0;
imag.Width:=PnTreeImg.Width;
imag.Height:=PnTreeImg.Height;
imag.Picture.LoadFromFile('girl.bmp');
// imag.AutoSize:=false;
imag.Stretch:=true;
imag.Center:=true;
ScreenDC:=GetDC(0);
Canvas1:=TCanvas.Create();
canvas1.Handle:=ScreenDC;
imag.Canvas.CopyRect(Rect(0,0,PnTreeImg.Width+2,PnTreeImg.Height+2)
,canvas1
,Rect(PnTreeImg.ClientOrigin.X-1
,PnTreeImg.ClientOrigin.y-1
,PnTreeImg.ClientOrigin.X+PnTreeImg.Width//-1
,PnTreeImg.ClientOrigin.y+PnTreeImg.Height));
Releasedc(0,ScreenDC);
PrintImage(imag,TrackBar1.Position);
Canvas1.Free;
imag.free;
// PageControl2.Canvas.
end;

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Как в Delphi распечатать Image1 и всё что находиться на нём (image, label)?

Здравствуйте! Подскажите, что делать если на МФУ Сanon pixma "my image garden" виснет при отправке в печать?
Какая операционная система, работает ли прямая печать из папок, как настроен принтер, как настроен
подробнее...
спросили в ORF
Подскажите программу-портабельный просмотрщик RAW-файлов
FastStone Image Viewer работает с флешки БЕЗ УСТАНОВКИ.
Весит всего 7 мегабайт!!
подробнее...
спросили в Печать Печь
Что такое желатино - серебряная печать ?
Добавлю от себя: В усовершенствованом виде - это та самая печать, которой Вы пользуетесь в
подробнее...

Почему печать фото в домашних условиях выходит дороже?? одна только бумага за лист бывает дороже фото, сделанного в салоне
Если Вы закажете в салоне струйную печать - получится порядочно дороже, чем дома. Дешевая массовая
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в 720 е годы
Печать фотообоев, с какой разрешающей способностью нести файлы на печать?
Как всегда, когда речь заходит о "разрешении" народ забывает от чего надо отталкиваться для
подробнее...
спросили в Печи
Сублимационная печать на обычной фотобумаге.
Нет: для печати используются комплекты, которые включают в себя специализированную бумагу с
подробнее...
спросили в Печать Печь
печать на футболке в домашних условиях
В домашних условиях можно наносить изображение и таким способом, как трафаретная печать на
подробнее...
спросили в Печать Печь
Как настроить печать без полей?
Укажите в настройках тип бумаги отличный от "простая". Должен быть ещё один пункт в настройках -
подробнее...
спросили в Печать Печь
печать чернобелых фотографий, как правильно печатать цветные и выставить чб режим на принтере или перевести в чб и печат
Я ч. б. печатаю в цветном режиме (больше полутонов) , но у меня собственные настройки на ч. б.
подробнее...
спросили в Печать Печь
печать фото
в настройках должно быть печать без полей! (у меня такой же только 2240 печатает без
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*