作者jclin (Rayman Raving Rabbids)
看板MacDev
标题Re: [问题] 如何将视窗内容抓下来?...
时间Sun Jul 1 11:31:58 2007
抓萤幕的图
http://developer.apple.com/documentation/Cocoa/Conceptual/
CocoaDrawingGuide/AdvancedDrawing/chapter_9_section_4.html#
//apple_ref/doc/uid/TP40003290-CH207-CJBGBCBH
至於抓视窗上的,之前在 SafariPowerToy 有要写 capture
整个 Safari 网页内容的工具,但是那次硬碟掰了所以就没有
相关的 source 当作参考,
凭印象来说,要抓视窗上的内容,必须要知道 NSView
然後建一个 NSBitmapImageRep 给 NSView 当作 graphic content,
然後呼叫对方的 redraw 去重绘,完毕之後再用 NSImage 存起来。
我 google 到的类似 code 就像
http://www.borkware.com/quickies/single?id=40
不过这个看起来是抓萤幕上目前的内容,
以 SafariPowerToy 本来要作的撷取网页内容来说,
因为萤幕上的显示只是网页的一部份,
所以程式本来就不是只单单撷取萤幕上面的图,
而是把本来要画到萤幕上的全部内容画到另外一个画布上。
希望你 google 或是看 ADC Reference 可以找得到更详细资料。
※ 引述《zaimoku (遇见未来)》之铭言:
: 看来好像没有什麽人有试着将视窗内容抓下来.....
: 那我自己分享一下最近找到一些相关的东西...
: CGDisplayBassAddress()...这function可以拿到
: 整个screen的内容....不过不太确定拿到的内容....
: 是否和display的设定或硬体有关....
: 不过..目前看来好像就这个可行..实在是不知....
: 有没有什麽其它方法了...
※ 编辑: jclin 来自: 220.131.22.165 (07/01 11:32)