gramps/src/ImgManip.py
Don Allingham 15eb34737b * src/docgen/PdfDoc.py: fixed register_book_doc call
* src/AddrEdit.py: pychecker fixes
* src/AttrEdit.py: pychecker fixes
* src/AutoComp.py: pychecker fixes
* src/ChooseParents.py: pychecker fixes
* src/DbPrompter.py: pychecker fixes
* src/DisplayModels.py: pychecker fixes
* src/EventEdit.py: pychecker fixes
* src/FamilyView.py: pychecker fixes
* src/Filter.py: pychecker fixes
* src/GenericFilter.py: pychecker fixes
* src/GrampsCfg.py: pychecker fixes
* src/GrampsGconfKeys.py: pychecker fixes
* src/ImgManip.py: pychecker fixes
* src/PlaceView.py: pychecker fixes
* src/Plugins.py: pychecker fixes
* src/ReadGedcom.py: pychecker fixes
* src/ReadXML.py: pychecker fixes
* src/SelectChild.py: pychecker fixes
* src/SelectObject.py: pychecker fixes
* src/SelectPerson.py: pychecker fixes
* src/Sort.py: pychecker fixes
* src/SourceView.py: pychecker fixes
* src/Utils.py: pychecker fixes
* src/Witness.py: pychecker fixes
* src/WriteGedcom.py: pychecker fixes
* src/WriteXML.py: pychecker fixes
* src/gramps_main.py: pychecker fixes


svn: r3599
2004-10-06 03:42:54 +00:00

98 lines
2.7 KiB
Python

#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2003 Donald N. Allingham
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
import os
import const
import signal
#-------------------------------------------------------------------------
#
# Check for the python imaging library
#
#-------------------------------------------------------------------------
import popen2
import gtk
class ImgManip:
def __init__(self,source):
self.src = source
def size(self):
img = gtk.gdk.pixbuf_new_from_file(self.src)
return (img.get_width(),img.get_height())
def fmt_thumbnail(self,dest,width,height,cnv):
w = int(width)
h = int(height)
cmd = "%s -geometry %dx%d '%s' '%s:%s'" % (const.convert,w,h,self.src,cnv,dest)
os.system(cmd)
def fmt_convert(self,dest,cnv):
cmd = "%s '%s' '%s:%s'" % (const.convert,self.src,cnv,dest)
os.system(cmd)
def fmt_data(self,cnv):
cmd = "%s '%s' '%s:-'" % (const.convert,self.src,cnv)
r,w = popen2.popen2(cmd)
buf = r.read()
r.close()
w.close()
return buf
def fmt_scale_data(self,x,y,cnv):
cmd = "%s -geometry %dx%d '%s' '%s:-'" % (const.convert,x,y,self.src,cnv)
signal.signal (signal.SIGCHLD, signal.SIG_DFL)
r,w = popen2.popen2(cmd)
buf = r.read()
r.close()
w.close()
return buf
def jpg_thumbnail(self,dest,width,height):
self.fmt_thumbnail(dest,width,height,"jpeg")
def png_thumbnail(self,dest,width,height):
self.fmt_thumbnail(dest,width,height,"png")
def jpg_convert(self,dest):
self.fmt_convert(dest,"jpeg")
def png_convert(self,dest):
self.fmt_convert(dest,"png")
def eps_convert(self,dest):
self.fmt_convert(dest,"eps")
def jpg_data(self):
return self.fmt_data("jpeg")
def png_data(self):
return self.fmt_data("png")
def jpg_scale_data(self,x,y):
return self.fmt_scale_data(x,y,"jpeg")
def png_scale_data(self,x,y):
return self.fmt_scale_data(x,y,"png")