世界难题:如何取最小化后的窗口中,窗口内某一位置的颜色值?(300分)

  • 主题发起人 主题发起人 yangxr2
  • 开始时间 开始时间
Y

yangxr2

Unregistered / Unconfirmed
GUEST, unregistred user!
一个窗口,在正常桌面时我可以根据GetPixel(x,y)获得,最小化后,如何取得该窗口显示在前台的某一位置颜色值?[:(][:(][:(][:(][:(][:(]
 
取好再最小化
 
再最小化?没看懂,能说得详细点么?最好能给点代码。
 
就是让你先把颜色取好以后再最小化
 
在最小化之前先把窗体图像复制到一个TBitmap
以后要取色直接取 TBitmap里面的
 
我要取的位置的颜色是变化的,我想随时都能取得该位置的颜色的变化值,而不想把应用放在前台来运行。
 
这也是世界难题? 建议你先学好 delphi 的 基础 先, 这可以说是 很基本的问题,根本就不会有什么难度,
wm_paint, copy window DC to buffer (bmp), get color of pixel from buffer's DC 。
 
窗口可以绘制到Canvas里面,具体自己研究吧
 
--> 最小化后,如何取得该窗口显示在前台的某一位置颜色值?
--》我要取的位置的颜色是变化的,我想随时都能取得该位置的颜色的变化值,而不想把应用放在前台来运行。

这是自相矛盾的。
最小化后,窗体根本没有绘制,何来颜色变化,
只有恢复窗口,你才会看到点的颜色,
你在最小化状态所做的画图变颜色什么的操作,
只不过是被系统的绘制机制忽略掉了,
他记住了一些状态,但并没有画图动作,
因为这时候在最前面的其他窗口在显示他的东西,
轮不到你。

如果点是你画的,
直接存下来你最后使用的颜色就是了,
还要什么GetPixel。
 
绘制窗口的API也不管这么多,照样把窗口绘制到指定Canvas里面,太忙了,没时间帮写代码。
 
有没有搞错,不可能的。你能读取那一点的内存值吗?如果能读取你就知道,如果不能你就不知道
 
也许是我描述不大清楚,我说的最小化的窗口,是另一应用程序界面的窗口,与我们自己的程序无关。
 
虽然问题没解决,但还是感谢各位的热心
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
617
import
I
后退
顶部