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 src
This 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<rlad...@adamsinfoserv.com> wrote:
From: Russell Adams<rlad...@adamsinfoserv.com>
Subject: Re: [O] insert picture feature request.
To: "Rainer Stengele"<rainer.steng...@diplan.de>
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
rlad...@adamsinfoserv.com
PGP Key ID: 0x1160DCB3
http://www.adamsinfoserv.com/
Fingerprint: 1723 D8CA 4280 1EC9 557F
66E8 1154 E018 1160 DCB3