|
From: | Stinky Wizzleteet |
Subject: | Re: [O] insert picture feature request. |
Date: | Wed, 25 May 2011 11:00:03 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 |
Hi All, I've looked into this as well and I found the following:On X the "import" function from imagemagick is very versatile. It can capoture the entire screen, or a rectangle on the screen selected by the user, it is possible to retain that rectangle for subsequent grabs in the session by catching the verbose output of the import command.
On windows however, the import command exists in the imagemagick windows binaries, but it only grabs X sessions, not an MSwin screen, therefor it is useless. But, among all the screengrabutils for window out there I found something that could be of interest here, the Python PIL package allows for screengrabs *and* for clipboard dumping:
########## start python src import os import sys import time import Image import ImageGrab def ensure_dir(f): d = os.path.dirname(f) if not os.path.exists(d): os.makedirs(d) #--------------------------------------------------------- #User Settings: SaveDirectory=r'c:/Screengrabs' #taking a screenshot is as simple as: #img=ImageGrab.grab() im= ImageGrab.grabclipboard() savename='ScreenShot_'+time.strftime("%y%m%d_%H_%M_%S")+'.png' saveas=os.path.join(SaveDirectory,savename) print "saveas: %s" %saveas ensure_dir(saveas) if isinstance(im, Image.Image): im.save(saveas) print "image saved to %s"% (saveas) else: print "not image in clipboard" ########## end python srcThis could be extended to be multiplatform, as I understand that PIL's imagegrab does not work on X11 (at least it does not on my n900)
My 2 cents here.. wzzl. On 7-5-2011 23:33, Mark S. wrote:
This is very close ... I think. The problem is that the file name needs to be formatted for Windows. Currently its formatted using unix style forward slashes. The file name that is passed to irfan in the call process needs to be formatted with Windows style backslashes. Without this fix, irfan will complain that it doesn't recognize the file type. In other languages I could figure out how to do the replace sequence, but it would take me awhile in lisp. Is there a quick fix? Thanks! Mark --- On Wed, 5/4/11, Russell Adams<address@hidden> wrote:From: Russell Adams<address@hidden> Subject: Re: [O] insert picture feature request. To: "Rainer Stengele"<address@hidden> Date: Wednesday, May 4, 2011, 6:19 AM On Wed, May 04, 2011 at 12:01:53PM +0200, Rainer Stengele wrote:i_view32.exe /capture=2/convert=c:\capture_$U(%d%m%Y_%H%M%S).jpg (defun org-screenshot () "Take a screenshot into a time stamped unique-named file in the same directory as the org-buffer and insert a link to this file." (interactive) (setq filename (concat (make-temp-name (concat (buffer-file-name) "_" (format-time-string "%Y%m%d_%H%M%S_")) ) ".png")) (call-process "i_view32.exe" nil nil nil "/capture=2" (concat "/convert=" filename) ) (insert (concat "[[" filename "]]")) (org-display-inline-images)) Does that work? Elisp is formatting the filename based on the Org buffer you're in and adding a timestamp. ------------------------------------------------------------------ Russell Adams address@hidden PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3
[Prev in Thread] | Current Thread | [Next in Thread] |