全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3294
推到 Plurk!
推到 Facebook!

如何使用printdialog列印image?

尚未結案
terry000
一般會員


發表:17
回覆:14
積分:6
註冊:2003-10-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-17 20:05:45 IP:140.130.xxx.xxx 未訂閱
請問各位大大~ 要如何使用printdialog來做列印image的問題~    我使用這個程式
void __fastcall TForm1::PrintDlgClick(TObject *Sender)
{
TPrinter *Prntr=Printer();    Graphics::TBitmap *TempBitmap;
TempBitmap= new Graphics::TBitmap();    TempBitmap= Image1->Picture->Bitmap;    TempBitmap->Width = Image1->Width;
TempBitmap->Height = Image1->Height;    Prntr->BeginDoc();
Prntr->Canvas->Draw(500,500,TempBitmap);
Prntr->EndDoc();
結果圖片很小.............請各位大大指導一下~謝謝! 發表人 - taishyang 於 2004/02/17 20:13:06
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-17 20:18:59 IP:140.135.xxx.xxx 未訂閱
terry000您好: 試試看下面這篇文章,看能不能幫上忙 < href="http://delphi.ktop.com.tw/topic.php?topic_id=24317">http://delphi.ktop.com.tw/topic.php?topic_id=24317 【Delphi】【問題】如何列印Image的影像? 順心
terry000
一般會員


發表:17
回覆:14
積分:6
註冊:2003-10-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-17 20:48:46 IP:140.130.xxx.xxx 未訂閱
引言: 請問各位大大~ 要如何使用printdialog來做列印image的問題~ 我使用這個程式
void __fastcall TForm1::PrintDlgClick(TObject *Sender)
{
TPrinter *Prntr=Printer();    Graphics::TBitmap *TempBitmap;
TempBitmap= new Graphics::TBitmap();    TempBitmap= Image1->Picture->Bitmap;    TempBitmap->Width = Image1->Width;
TempBitmap->Height = Image1->Height;    Prntr->BeginDoc();
Prntr->Canvas->Draw(500,500,TempBitmap);
Prntr->EndDoc();
結果圖片很小.............請各位大大指導一下~謝謝! 發表人 - taishyang 於 2004/02/17 20:13:06
對不起我試過了..但是還是有bug 可以請大大指點一下嗎
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-17 21:02:03 IP:140.135.xxx.xxx 未訂閱
terry000您好: 抱歉,小弟目前在打工中,沒有BCB可以試 方便將程式碼 >
terry000
一般會員


發表:17
回覆:14
積分:6
註冊:2003-10-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-17 21:14:06 IP:140.130.xxx.xxx 未訂閱
void __fastcall TForm1::PrintDlgClick(TObject *Sender) { TPrinter *Prntr=Printer();    Graphics::TBitmap *TempBitmap; TempBitmap= new Graphics::TBitmap();    TempBitmap= Image1->Picture->Bitmap;    TempBitmap->Width = (Image1->Width); TempBitmap->Height = (Image1->Height);    Prntr->BeginDoc(); Prntr->Canvas->StretchDraw(Rect(50,50,Prntr->PageWidth-20,(Prntr->PageWidth*40 div 77)-20), TempBitmap); Prntr->EndDoc();    }    error message:    [C++ Error] Unit1.cpp(713): E2293 ) expected 一切拜託啦~
terry000
一般會員


發表:17
回覆:14
積分:6
註冊:2003-10-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-17 21:14:19 IP:140.130.xxx.xxx 未訂閱
void __fastcall TForm1::PrintDlgClick(TObject *Sender) { TPrinter *Prntr=Printer();    Graphics::TBitmap *TempBitmap; TempBitmap= new Graphics::TBitmap();    TempBitmap= Image1->Picture->Bitmap;    TempBitmap->Width = (Image1->Width); TempBitmap->Height = (Image1->Height);    Prntr->BeginDoc(); Prntr->Canvas->StretchDraw(Rect(50,50,Prntr->PageWidth-20,(Prntr->PageWidth*40 div 77)-20), TempBitmap); Prntr->EndDoc();    }    error message:    [C++ Error] Unit1.cpp(713): E2293 ) expected 一切拜託啦~
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-02-17 21:58:23 IP:140.135.xxx.xxx 未訂閱
terry000您好: 試試下面這樣
 TPrinter *Prntr=Printer();
 Graphics::TBitmap *TempBitmap;
 TempBitmap= new Graphics::TBitmap();
 TempBitmap= Image1->Picture->Bitmap;
 TempBitmap->Width = (Image1->Width);
 TempBitmap->Height = (Image1->Height);
 Prntr->BeginDoc();
 Prntr->Canvas->StretchDraw(Rect(50,50,Prntr->PageWidth,Prntr->PageHeight) , TempBitmap);
 Prntr->EndDoc();
不過您要換算一下對應到A4紙上的寬與高 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
a39225236
一般會員


發表:1
回覆:3
積分:0
註冊:2004-02-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-02-17 23:24:07 IP:140.130.xxx.xxx 未訂閱
將參數改成如下就可以列印如a4的大小圖案 Prntr->Canvas->StretchDraw(Rect(200,200,Prntr->PageWidth-200,Prntr->PageHeight-200),Image1->Picture->Bitmap); 吾人有實作....絕對沒問題
系統時間:2024-05-18 4:36:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!