?? 打印位圖.txt
字號:
#include <printers.hpp>
void PrintAsScreen( TCanvas *CanvasSource,TPrinter *Prntr,
TRect RectSource,TRect RectTarget)
{//所見即所得打印方式
Prntr->BeginDoc();
int OriginalMapMode = GetMapMode(Prntr->Handle);//當前影射模式
SetMapMode(Prntr->Handle,MM_ISOTROPIC);//設置圖形影射模式
SIZE ss;
ss.cx = Screen->Width;
ss.cy = Screen->Height;
SetWindowExtEx( Prntr->Handle, ss.cx, ss.cy, &ss);//設置窗口
//獲取打印機x方向每英寸象素點數
float xLogPixelsPerInch = GetDeviceCaps(Prntr->Handle,LOGPIXELSX);
//獲取y方向每英寸象素點數
float yLogPixelsPerInch = GetDeviceCaps(Prntr->Handle,LOGPIXELSY);
ss.cx = xLogPixelsPerInch;
ss.cy = yLogPixelsPerInch;
SetViewportExtEx(//設置視口
Prntr->Handle,
Screen->Width * xLogPixelsPerInch/Screen->PixelsPerInch,
Screen->Height * yLogPixelsPerInch/Screen->PixelsPerInch,
&ss);
Prntr->Canvas->CopyRect(
RectTarget, //Target Rect
CanvasSource, //Source Canvas
RectSource ); //Source Rect
Prntr->EndDoc();
SetMapMode(Prntr->Handle,OriginalMapMode);//復原影射模式
}
//---------------------------------------------------------------------------
調用 Bitmap
Graphics::TBitmap *bmp = new Graphics::TBitmap();
bmp->LoadFromFile(...);
PrintAsScreen(
bmp->Canvas,
Printer(),
bmp->Canvas->ClipRect,
bmp->Canvas->ClipRect);
delete bmp;
如果是 JPEG
#include <jpeg.hpp>
Graphics::TBitmap *bmp = new Graphics::TBitmap();
TJPEGImage *jpeg = new TJPEGImage();
jpeg->LoadFromFile(...);
bmp->Assign(jpeg);
PrintAsScreen(
bmp->Canvas,
Printer(),
bmp->Canvas->ClipRect,
bmp->Canvas->ClipRect);
delete jpeg;
delete bmp;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -