打印!在Winform中,如何在一窗体中实现从(起始坐标)到(终点坐标)的打印功能

ycsno1 2009-02-02 11:25:44
我需要写一个方法,
private void MyPrint(Point startPoint,Point endPoint){...}
startPoint为起始坐标
endPoint为终点坐标
此方法主体要实现对位于起始坐标到终点坐标区域内的所有东西进行打印.
方法主体如何写,高手请指教!
急用!
...全文
84 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw555 2009-02-02
  • 打赏
  • 举报
回复
给你个vb.net的版本,自己翻译下吧
 Private Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hDC As Integer) As Integer
Private Declare Function CreateCompatibleBitmap Lib "GDI32" (ByVal hDC As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer) As Integer
Private Declare Function SelectObject Lib "GDI32" (ByVal hDC As Integer, ByVal hObject As Integer) As Integer
Private Declare Function BitBlt Lib "GDI32" (ByVal srchDC As Integer, ByVal srcX As Integer, ByVal srcY As Integer, ByVal srcW As Integer, ByVal srcH As Integer, ByVal desthDC As Integer, ByVal destX As Integer, ByVal destY As Integer, ByVal op As Integer) As Integer
Private Declare Function DeleteDC Lib "GDI32" (ByVal hDC As Integer) As Integer
Private Declare Function DeleteObject Lib "GDI32" (ByVal hObj As Integer) As Integer
Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Integer) As Integer
Const SRCCOPY As Integer = &HCC0020
Private Sub MyPrint(ByVal startPoint As Point, ByVal endPoint As Point)

Dim bmp As Bitmap
Dim hDC, hMDC As Integer
Dim hBMP, hBMPOld As Integer
hDC = GetDC(0)
hMDC = CreateCompatibleDC(hDC)
hBMP = CreateCompatibleBitmap(hDC, Me.Width, Me.Height)
hBMPOld = SelectObject(hMDC, hBMP)
BitBlt(hMDC, 0, 0, endPoint.X - startPoint.X, endPoint.Y - startPoint.Y, hDC, startPoint.X, startPoint.Y, SRCCOPY)
hBMP = SelectObject(hMDC, hBMPOld)
bmp = Image.FromHbitmap(New IntPtr(hBMP))
DeleteDC(hDC)
DeleteDC(hMDC)
DeleteObject(hBMP)
Dim ofd As New SaveFileDialog
ofd.Filter = "jpg file |*.jpg |bmp file |*.bmp"
If ofd.ShowDialog = DialogResult.OK Then
bmp.Save(ofd.FileName)
End If
End Sub
ls3697264 2009-02-02
  • 打赏
  • 举报
回复
up

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧