VB打印中遇到的一个问题
时间:2011-11-11
来源:互联网
在VB中,如果将文字图片画到picturebox上,那么可以很轻易的打印出任意图文混合效果,但是文字效果却总是比较模糊.主要原因应该是分辨率上的关系。但确不知如何解决。
如果直接用printer打印,在打印黑框内嵌入白色的情况时又不知如何处理.真是比较郁闷.
所以希望熟打印的朋友,如何才能清晰的在单色机上打印出黑底框白色字?
应该是两种解决办法
1.如何用picturebox画出来的图分辨率比较高能将文字打印清晰?
2.如何用printer.print+printer.line画出黑框,并将白字色加入黑框中?
例如这种效果
http://www.sh1122.com/200803/20080320163011.JPG
如果直接用printer打印,在打印黑框内嵌入白色的情况时又不知如何处理.真是比较郁闷.
所以希望熟打印的朋友,如何才能清晰的在单色机上打印出黑底框白色字?
应该是两种解决办法
1.如何用picturebox画出来的图分辨率比较高能将文字打印清晰?
2.如何用printer.print+printer.line画出黑框,并将白字色加入黑框中?
例如这种效果
http://www.sh1122.com/200803/20080320163011.JPG
作者: MOODSKY2002 发布时间: 2011-11-11
引用楼主 moodsky2002 的回复:
在VB中,如果将文字图片画到picturebox上,那么可以很轻易的打印出任意图文混合效果,但是文字效果却总是比较模糊.主要原因应该是分辨率上的关系。但确不知如何解决。
如果直接用printer打印,在打印黑框内嵌入白色的情况时又不知如何处理.真是比较郁闷.
所以希望熟打印的朋友,如何才能清晰的在单色机上打印出黑底框白色字?
应该是两种解决办法
1.如何用picturebox画出来……
在VB中,如果将文字图片画到picturebox上,那么可以很轻易的打印出任意图文混合效果,但是文字效果却总是比较模糊.主要原因应该是分辨率上的关系。但确不知如何解决。
如果直接用printer打印,在打印黑框内嵌入白色的情况时又不知如何处理.真是比较郁闷.
所以希望熟打印的朋友,如何才能清晰的在单色机上打印出黑底框白色字?
应该是两种解决办法
1.如何用picturebox画出来……
在printer上绘图和在Form上绘图使用相同的逻辑
黑色方框上打印白字,你可以将printer的BackColor设置为黑色,ForeColor设置为白色,然后打印
作者: worldy 发布时间: 2011-11-11
VB code
Option Explicit Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source Private Sub Command1_Click() '打印图片 Picture1.Width = Picture1.Width Picture1.Height = Picture1.Height Picture1.AutoRedraw = True BitBlt Picture1.hDC, 0, 0, Picture1.Width / Screen.TwipsPerPixelX, Picture1.Height / Screen.TwipsPerPixelY, Picture1.hDC, 0, 0, SRCCOPY Picture1.AutoRedraw = False Picture1.Refresh Printer.PaintPicture Picture1.Image, 1000, 1000 Printer.EndDoc End Sub Private Sub Form_Load() Picture1.AutoRedraw = True Picture1.Line (1, 1)-(4500, 1500), RGB(0, 0, 0), BF Picture1.CurrentX = 200 Picture1.CurrentY = 200 Picture1.FontBold = True Picture1.FontName = "宋体" Picture1.FontSize = 48 Picture1.ForeColor = RGB(255, 255, 255) Picture1.FontTransparent = True Picture1.Print "黑底白字" End Sub
作者: zdingyun 发布时间: 2011-11-11
http://topic.csdn.net/u/20080920/01/779CFED5-CF81-4D15-85E9-03BB6AD5829E.html#r_52403909
作者: zdingyun 发布时间: 2011-11-11
简化代码:
VB code
VB code
Private Sub Command1_Click() '打印图片 Picture1.AutoRedraw = False Picture1.Refresh Printer.PaintPicture Picture1.Image, 1000, 1000 Printer.EndDoc End Sub Private Sub Form_Load() Picture1.AutoRedraw = True Picture1.Line (1, 1)-(4500, 1500), RGB(0, 0, 0), BF Picture1.CurrentX = 200 Picture1.CurrentY = 200 Picture1.FontBold = True Picture1.FontName = "宋体" Picture1.FontSize = 48 Picture1.ForeColor = RGB(255, 255, 255) Picture1.FontTransparent = True Picture1.Print "黑底白字" End Sub
作者: zdingyun 发布时间: 2011-11-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28