图元文件显示 var mf : TMetafile; mc: TMetafileCanvas; mf := TMetafile.Create; mf.Width := 1024; mf.Height := 800; mc :=TMetafileCanvas.Create(mf, 0); //画图 //…… img1.Canvas.Draw(0,0,mf);以上可以将图元文件显示到img1 上,而bitblt、StretchBlt都不行。请问如何显示mf的某个区域 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我现在图元文件上画,然后自己在image里做预览,并提供图元文件的打印。这些都没问题。问题是: 由于一屏幕显示不了,我想讲图元文件分成两个部分,请问如何截取图元? img1.Canvas.Draw(0,0,mf);怎么将mf 分成3个部分显示 img1.Canvas.CopyRect();爱分几个部分就几个。 楼上的意思先讲mf 绘制到img1上 然后再分块显示? 好吧,谢谢你,那么请问你如何打印 try if dlgPntSet1.Execute then begin //Printer.Orientation := poLandscape; Printer.BeginDoc; Printer.NewPage; Printer.Canvas.StretchDraw(Rect(0, 0, Printer.PageWidth, Printer.PageHeight), mf); Printer.EndDoc; end; except Application.MessageBox('打印异常',MB_OK ) end; // mf的宽度是满A4纸打印的 3倍 metafile_dpix := GetDeviceCaps(Self.Canvas.Handle, LOGPIXELSX); / printer_dpix := GetDeviceCaps(Printer.Handle, LOGPIXELSX); metafile_dpiy := GetDeviceCaps(Self.Canvas.Handle, LOGPIXELSY); printer_dpiy := GetDeviceCaps(Printer.Handle, LOGPIXELSY); W := Round( (Printer.PageWidth * metafile_dpix) / printer_dpix ) * 3 H := Round( (Printer.PageHeight * metafile_dpiy) / printer_dpiy ) ;那怎么对图元文件分页打印,谢谢你了。 而且img1.Canvas.CopyRect 不能对拷贝图元的对吧? 图元中存放的是 绘图命令,应该不可以分块,除非你先把图元绘制到image上 再分块 locate 不能定位~ 共享内存 又散了,兄弟們新年快樂啊!多收他三五千啊! 有没有西安的Delphier进来认识一下 ?顶者有分 Delphi / C++ Builder 持久对象 (程序对DFM文件读写) 500分求高手 高分求图像处理的算法,(问题解决,另送200分) 关于对象生命期 怎样把一个表中的某个字段的所有值加入到组合框中去 在DELPHI 中如何实现将一个应用程序的窗体(非主窗体)总是置于所有应用程序的前端 防非典,庆五一,散分 DelphiXE 安装时发生严重错误 如果模拟键盘按下ALT + 字符键(如ALT + D )
问题是: 由于一屏幕显示不了,我想讲图元文件分成两个部分,请问如何截取图元?
楼上的意思先讲mf 绘制到img1上 然后再分块显示?
好吧,谢谢你,那么请问你如何打印
try
if dlgPntSet1.Execute then
begin
//Printer.Orientation := poLandscape;
Printer.BeginDoc;
Printer.NewPage;
Printer.Canvas.StretchDraw(Rect(0, 0, Printer.PageWidth, Printer.PageHeight), mf);
Printer.EndDoc;
end;
except
Application.MessageBox('打印异常',MB_OK )
end; // mf的宽度是满A4纸打印的 3倍
metafile_dpix := GetDeviceCaps(Self.Canvas.Handle, LOGPIXELSX); /
printer_dpix := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
metafile_dpiy := GetDeviceCaps(Self.Canvas.Handle, LOGPIXELSY);
printer_dpiy := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
W := Round( (Printer.PageWidth * metafile_dpix) / printer_dpix ) * 3
H := Round( (Printer.PageHeight * metafile_dpiy) / printer_dpiy ) ;
那怎么对图元文件分页打印,谢谢你了。
应该不可以分块,除非你先把图元绘制到image上 再分块