vb中使用picturebox的问题(高手请进)

来源:百度知道 编辑:UC知道 时间:2024/05/23 04:58:59
我为了把第一个PictureBox的图传到第三个PictureBox中,采用如下方法一,但发现实现不了,图能从1号传到2好,但从2号到3号好像读不出其中的图.这是什么原因? 用方法二倒可以.

方法一:
BitBlt Picture2.hDC, 0, 0, 500, 500, Picture1.hDC, 0, 0, vbSrcCopy
Picture3.Picture = Picture2.Picture

方法二:
Picture2.Picture = Picture1.Picture
Picture3.Picture = Picture2.Picture

那是当然 你因该还不理解Picture属性 它是PictureBox控件装载的图像.
而BitBlt方法是直接画图形到控件上 所以你方法一
BitBlt Picture2.hDC, 0, 0, 500, 500, Picture1.hDC, 0, 0, vbSrcCopy
是将1图形画到2控件上 Picture属性还是空的 所以 Picture3.Picture = Picture2.Picture 这一句也就是空赋给空.

改成这样就可以了.
BitBlt Picture2.hDC, 0, 0, 500, 500, Picture1.hDC, 0, 0, vbSrcCopy
BitBlt Picture3.hDC, 0, 0, 500, 500, Picture2.hDC, 0, 0, vbSrcCopy

BitBlt Picture2.hDC, 0, 0, 500, 500, Picture1.hDC, 0, 0, vbSrcCopy
Picture3.Picture = Picture2.Image