社区
C#
帖子详情
怎么让自行绘制的文本支持屏幕取词?
3tzjq
2009-06-26 10:30:52
此问题困扰我很久了!
我想让Graphics.DrawString()或 ControlPaint.DrawStringDisabled()绘制的文本支持"金山词霸"等软件的屏幕取词功能,但不知如何下手.
比如下面的"已.未审核"和"审核人:..."是自行绘制的,但无法支持屏幕取词:
...全文
177
19
打赏
收藏
怎么让自行绘制的文本支持屏幕取词?
此问题困扰我很久了! 我想让Graphics.DrawString()或 ControlPaint.DrawStringDisabled()绘制的文本支持"金山词霸"等软件的屏幕取词功能,但不知如何下手. 比如下面的"已.未审核"和"审核人:..."是自行绘制的,但无法支持屏幕取词:
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liyoubaidu
2009-08-09
打赏
举报
回复
[Quote=引用 10 楼 cpio 的回复:]
不知道是不是因为用GDI+绘的,用GDI看看看吧
至少我用GDI在VC里面绘出来的是可以
金山司霸的原理就是截获GDI一些输出函数,比如TextOut,DrawText,把里面的参数取出来
[/Quote]
顶
雅虎乐译 我也来试试
北京的雾霾天
2009-06-26
打赏
举报
回复
我说这因为 ControlPaint.DrawStringDisabled就是使用的Graphics.DrawString来实现的。
北京的雾霾天
2009-06-26
打赏
举报
回复
首先说,这不应该是你的事情,应该是取词软件要实现的。
我使用的“雅虎乐译”就可以取到使用Graphics.DrawString绘制的文字。
3tzjq
2009-06-26
打赏
举报
回复
[Quote=引用 10 楼 cpio 的回复:]
不知道是不是因为用GDI+绘的,用GDI看看看吧
至少我用GDI在VC里面绘出来的是可以
金山司霸的原理就是截获GDI一些输出函数,比如TextOut,DrawText,把里面的参数取出来
[/Quote]
我想也是,它提取的可能只是某控件的一些文本属性(Text,Caption...),是不是该为Text属性加点什么Attribute?
cpio
2009-06-26
打赏
举报
回复
[DllImport("gdi32.dll", EntryPoint = "TextOut")]
public static extern int TextOut(
IntPtr hdc,
int x,
int y,
string lpString,
int nCount
);
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawString("gdi+ test", this.Font, Brushes.White, 100, 100);
IntPtr hdc = e.Graphics.GetHdc();
TextOut(hdc, 100, 120, "gdi test", 8);
e.Graphics.ReleaseHdc(hdc);
}
用TextOut输出的是可以的,我试过
看来就是GDI+不可以
不过,用GDI的话,可能你处理这些效果会比较麻烦
3tzjq
2009-06-26
打赏
举报
回复
[Quote=引用 7 楼 Deathsign 的回复:]
哦哦哦
WINFORM啊
你用个LABEL装那几个字,自己写个控件, 控制下LABEL位置嘛 看起一样就行啦
就OK了啊
[/Quote]
我不想继承Label.
目前 AuditStatusButton继承自CrystalButtonBase, CrystalButtonBase继承自Control
Deathsign
2009-06-26
打赏
举报
回复
[Quote=引用 10 楼 cpio 的回复:]
不知道是不是因为用GDI+绘的,用GDI看看看吧
至少我用GDI在VC里面绘出来的是可以
金山司霸的原理就是截获GDI一些输出函数,比如TextOut,DrawText,把里面的参数取出来
[/Quote]
受教!
cpio
2009-06-26
打赏
举报
回复
不知道是不是因为用GDI+绘的,用GDI看看看吧
至少我用GDI在VC里面绘出来的是可以
金山司霸的原理就是截获GDI一些输出函数,比如TextOut,DrawText,把里面的参数取出来
yaazz
2009-06-26
打赏
举报
回复
屏幕取词取的是文本,一般不能分析图像吧
lidss1234
2009-06-26
打赏
举报
回复
用DIV,图做背景图片.然用CSS控制文字.
Deathsign
2009-06-26
打赏
举报
回复
哦哦哦
WINFORM啊
你用个LABEL装那几个字,自己写个控件, 控制下LABEL位置嘛 看起一样就行啦
就OK了啊
满衣兄
2009-06-26
打赏
举报
回复
额,我也想到web了,晕了
满衣兄
2009-06-26
打赏
举报
回复
金山词霸没有分析图片的能力,只能在图片上考虑了.
可以放个div到图片的文字部分.
3tzjq
2009-06-26
打赏
举报
回复
[Quote=引用 1 楼 Deathsign 的回复:]
你把图片里面挖空··用文本填充 再用CSS控制样式就行了啊
[/Quote]
指WinForm控件,非图片.
Deathsign
2009-06-26
打赏
举报
回复
哦 理解错了。。。
你写个DIV 把DIV 搞透明把字放里面试试????
jieon
2009-06-26
打赏
举报
回复
up...
Deathsign
2009-06-26
打赏
举报
回复
你把图片里面挖空··用文本填充 再用CSS控制样式就行了啊
北京的雾霾天
2009-06-26
打赏
举报
回复
应该不是的,C#里的控件,比如文本框,按钮,他们实际上还是标准Windows控件继承下来的,并没有在C#里全部得到重写,他们的绘制最终应该是通过TextOut来完成的。
3tzjq
2009-06-26
打赏
举报
回复
[Quote=引用 16 楼 hbxtlhx 的回复:]
我说这因为 ControlPaint.DrawStringDisabled就是使用的Graphics.DrawString来实现的。
[/Quote]
这我知道,但为什么像Label,Button...的自带控件就支持取词呢? 难道它们的Text 不由GDI+绘制?
python
屏幕
取词
getword_GetWord Demo(
屏幕
取词
软件)
GetWord Demo是一款可以帮助用户捕捉文字的软件,当你需要捕捉文字的时候就可以选择这款软件截图捕捉,从而让用户可以更快完成文字复制,也让用户更快输入文字,有时候需要对一个文件的内容抄写,但是该文件的内容不能复制,这时候就可以通过这款软件识别文字,从而将文字一键复制,这样就可以不需要你手动抄写了,直接复制就可以完成编辑工作;GetWord Demo提供多种捕捉方式,需要的朋友就下载吧!软件功...
Windows
屏幕
取词
原理:API-HOOK拦截GDI
文本
绘制
屏幕
取词
是桌面应用中实现划词翻译、文档辅助阅读的关键能力,其本质并非OCR图像识别,而是对操作系统图形API的底层拦截。核心原理在于通过用户态Inline Hook技术,动态劫持TextOutW、DrawTextW等GDI
文本
绘制
函数,直接提取原始Unicode字符串及
屏幕
坐标。该方法绕过渲染黑盒,具备毫秒级响应、零延迟反馈和高兼容性,适用于WPS、Acrobat、微信PC版等主流Win32应用。相比Detours或全局钩子,Inline Hook更适配ASLR/CFG保护环境,且无需管理员权限。本文详解其
真正实现金山词霸级
屏幕
取词
功能的源码解析与实战
一个看似简单的
屏幕
取词
功能,背后竟藏着如此庞大的技术体系。从操作系统底层到AI模型推理,从网络通信到UI渲染,每一个环节都需要精心打磨。而这,也正是软件工程的魅力所在:把复杂藏于无形,让用户只看到优雅。✨下次当你再次看到那个静静浮现在鼠标旁的小翻译框时,不妨微笑一下——你知道,它走得每一步,都不容易。💪本文还有配套的精品资源,点击获取简介:
屏幕
取词
是语言学习和翻译领域的重要辅助技术,能够通过鼠标悬停实时识别并翻译
屏幕
上显示的
文本
。
基于MFC的
屏幕
取词
工具开发与数据库集成实战
MFC(Microsoft Foundation Classes)是对Win32 API的C++封装,通过面向对象方式简化Windows桌面应用开发。其核心类如CWinApp代表应用程序实例,负责程序入口与消息循环管理;CFrameWnd封装主窗口,处理窗口创建与菜单布局;CView则用于内容
绘制
与用户交互,在文档/视图结构中扮演关键角色。在
屏幕
取词
工具中,这些类分别承担UI容器、事件响应和绘图逻辑的基础支撑。public:// 应用初始化入口该代码定义了应用类,
屏幕
取词
翻译工具:从OCR到混合架构的全局
取词
技术实现
屏幕
取词
技术是提升跨语言信息获取效率的核心工具,其原理是通过截取
屏幕
图像并识别文字,实现即指即译的无缝体验。该技术的核心价值在于消除传统复制粘贴翻译的流程中断,让用户在阅读外文资料时保持思维连贯性。在实现层面,主要依赖OCR(光学字符识别)进行文字提取,并结合系统API优化特定应用的兼容性。典型的应用场景包括程序员查阅英文文档、科研人员阅读海外论文以及跨境电商从业者快速理解外文信息。本文深入探讨了基于Tesseract等开源OCR引擎的混合架构方案,并详细解析了高DPI适配、防抖机制等关键实现细节,为开发者
C#
111,128
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章