ccrun请来帮忙?其他高手也来,高分。

用过ccrun的 MiniSpy.exe 不知道在屏幕取色中,实现放大区的功能是怎么写的?
移动鼠标时是如何把图象放到那个小区域里,还有调节放大倍数,怎么实现啊???
ccrun大哥,能不能将你这一段的代码给我啊?奉上100分。

我的邮箱是:ysq81011981@21cn.com
...全文
50 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huoniao1976 2003-12-22
  • 打赏
  • 举报
回复
up
constantine 2003-12-22
  • 打赏
  • 举报
回复
你去邮箱收吧,那是我写的一个小程序,只是设置放大倍数为两倍,你改一下就可以了.
ccrun.com 2003-12-22
  • 打赏
  • 举报
回复
在Form上添加一个Panel和一个Timer,然后添加以下代码:
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Timer1->Interval = 300;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
// 在MiniSpy中我设定的最大放大倍数是4,所以取值为0~3
// 这只是个简单例子,在Minispy中我是在鼠标按下并
// 移动的过程中取景并放大的,在这个例子里是利用Timer来取
// 可能会占资源较重。可以根据需要自己改一下。
// 实现的过程主要是用了StretchBlt
int nZoom = 0;
POINT pt;
GetCursorPos(&pt);
HDC hdcSrc = GetDC(GetDesktopWindow());
HDC hdcDst = GetDC(Panel1->Handle);
StretchBlt(hdcDst,
16 * (nZoom) + 1, 16 * (nZoom) + 1,
32 * (4 - nZoom) + 1, 32 * (4 - nZoom) + 1,
hdcSrc,
pt.x - 16, pt.y - 16,
33, 33,
SRCCOPY);
}
//---------------------------------------------------------------------------
ccrun.com 2003-12-22
  • 打赏
  • 举报
回复
我来了。给你贴代码现在。
zzlong 2003-12-22
  • 打赏
  • 举报
回复
忘记说明,我是帮我舍友给的,他的分快没有了.
同时我也很感谢两位大哥帮忙,这样我们的工程就可以继续了.
zzlong 2003-12-22
  • 打赏
  • 举报
回复
对于ccrun 和 constantine 两位大哥的帮忙万分感谢!
本来说好给ccrun大哥 100分的.现在constantine大哥又给了我个例子,
因此,每人先给50分.还有50 我再开贴补上.
  • 打赏
  • 举报
回复
谢谢各位!
yjy1001 2003-12-22
  • 打赏
  • 举报
回复
简单 —— 老妖的代码就够了

本来想模拟老妖的 minisky 写一个mininisky

---- 结果
—— 工程太重,忙得晕头转向,所以一直挂着没动身写下去

老妖不要告我侵权就可以了,写好了就借你网站 发布出去 ^&^
RomanticProgrammer 2003-12-21
  • 打赏
  • 举报
回复
1取色:
GetDC(0)的到屏幕的设备描述表,GetCursorPos得到鼠标的位置,GetPixel得到鼠标位置处的颜色.
2把图像放到小区域:
可以用VCL函数:CopyRect,如果想缩放,可以用API StretchBlt.
  • 打赏
  • 举报
回复
顶,ccrun(老妖)快来啊

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧