首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

小弟我用pictureBOX 画了一个图形,用打印机打印成A4,有一部分显示不出来

2012-01-19 
我用pictureBOX 画了一个图形,。,用打印机打印成A4,有一部分显示不出来我用pictureBOX 画了一个图形,。,用打

我用pictureBOX 画了一个图形,。,用打印机打印成A4,有一部分显示不出来
我用pictureBOX 画了一个图形,。,用打印机打印成A4,有一部分显示不出来,,

在网上找了一些资料。可以实现picture的缩放,但是打印出来文件还是显示不全。。

就是用的
Printer.PaintPicture Picture1.image, 0, 0

我想是不是要缩小图片的大小保存后再,打印保存后图片啊?

pis.PaintPicture Picture1, 0, 0, w / 2, h / 2, 0, 0, w, h '缩小为原图的一半

为什么在VB中可以缩放大小,保存成图片后还是原始大图片啊??

PaintPicture 根本就不能实现我要的效果。、。有人遇到过这个问题吗?解答一下


还有就是那个API,,
StretchBlt(Picture4.hdc, 0, 0, w / 2, h / 2, Picture1.hdc, 0, 0, w, h, SRCCOP)

我也用不起。请给一个实例嘛。 

,谢谢



[解决办法]
适当加粗图形线条的宽度.
[解决办法]
先将图形缩放到另一个图片框里,然后打印另一个图片框的图形而不是原来图片框中的图片。
[解决办法]
你说的“保存成图片后还是原始大图片啊”是提怎么保存啊,建议多给点代码说明你做的事。
[解决办法]
1)你不指定比率怎么会缩放

VB code
Printer.PaintPicture Picture1.image, 0, 0, w / 2, h / 2, 0, 0, w, h
[解决办法]
pic.AutoRedraw 设了没有?
[解决办法]
完全可以的,参考下面的例子
VB code
Option ExplicitPrivate Const W = 100Private Const H = 50Private Sub Command1_Click()    Picture1.Cls    Picture1.Line (0, 0)-(W - 1, H - 1), , B    Picture1.Circle (20, 20), 10    SavePicture Picture1.Image, "C:\1.bmp"        Picture2.PaintPicture Picture1.Image, 0, 0, W / 2, H / 2, 0, 0, W, H    SavePicture Picture2.Image, "C:\2.bmp"End SubPrivate Sub Form_Load()    Dim deltaW As Long    Dim deltaH As Long        Me.ScaleMode = vbPixels        Picture1.AutoRedraw = True    Picture1.BackColor = vbWhite    Picture1.ScaleMode = vbPixels        Picture2.AutoRedraw = True    Picture2.BackColor = vbWhite    Picture2.ScaleMode = vbPixels        deltaW = Picture1.Width - Picture1.ScaleWidth    deltaH = Picture1.Height - Picture1.ScaleHeight        Picture1.Move 0, 0, W + deltaW, H + deltaH    Picture2.Move 0, H + deltaH + 8, W / 2 + deltaW, H / 2 + deltaHEnd Sub
[解决办法]
PaintPicture 中的坐标、高宽值使用 ScaleMode 指定的单位,不同的 ScaleMode 要注意换算。

热点排行