关于 BitBlt 的问题(100分)

  • 主题发起人 主题发起人 xuqian
  • 开始时间 开始时间
X

xuqian

Unregistered / Unconfirmed
GUEST, unregistred user!
BitBlt(OutputDC, Xpos, Ypos, imWidth, imHeight, SrcDC, Xpos, Ypos, SRCCOPY)

我在不同的过程中调用该函数。
首先在A过程中使用,没有问题。
然后在B过程中使用,但是没有任何变化。
我注意到:此时 OutputDC, SrcDC 已经发生了变化。
也就是说:每次调用此函数,应该对 OutputDC, SrcDC 做相应的处理。

请教具体的处理方法 :)
 
codes please...
 
>>我注意到:此时 OutputDC, SrcDC 已经发生了变化。
>>也就是说:每次调用此函数,应该对 OutputDC, SrcDC 做相应的处理。

到底是什么意思? OutputDC 是指 destination device context
SrcDC 是指 source device context
你要用BitBlt 自然要视情况而指定 OutputDc 、SrcDc 这两个参数

 
看一下源代码。

loopy@netease.com
 
OutputDC 是指:输出画布的句柄;(TImage.Canvas.Handle)
SrcDC 是指:待贴的图像的画布的句柄;(TBitmap.Canvas.Handle)
 
OutputDC -> Form1.Handle
SrcDC -> TBitmap.Handle
程序没有问题;
可是将 Form1.Handle 换成 TImage.Canvas.Handle (或类似的代码)
屏幕上没有任何变化。很奇怪的样子
 
TImage.Canvas.Handle?
应该用Image.Picture.Bitmap.Canvas.Handle
Image.Canvas.Handle没用处的
 
对!
TImage.Picture.Bitmap.Canvas.Handle,
TImage.Picture.Bitmap.Handle,
好像都没有用.
 
我把源代码 email 给你!
 
接受答案了.
 
后退
顶部