/usr/share/rapid-photo-downloader/rapid/filmstrip.py is in rapid-photo-downloader 0.4.5-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | #!/usr/bin/python
# -*- coding: latin1 -*-
### Copyright (C) 2010-2012 Damon Lynch <damonlynch@gmail.com>
### 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
### USA
"""
Adds a filmstrip to the left and right of a pixbuf
"""
import gtk
xpm_data = [
"12 10 27 1",
" c #000000",
". c #232323",
"+ c #7A7A7A",
"@ c #838383",
"# c #8C8C8C",
"$ c #909090",
"% c #8E8E8E",
"& c #525252",
"* c #6E6E6E",
"= c #939393",
"- c #A3A3A3",
"; c #ABABAB",
"> c #A8A8A8",
", c #9B9B9B",
"' c #727272",
") c #A4A4A4",
"! c #BBBBBB",
"~ c #C4C4C4",
"{ c #C1C1C1",
"] c #AFAFAF",
"^ c #3E3E3E",
"/ c #A6A6A6",
"( c #BEBEBE",
"_ c #C8C8C8",
": c #070707",
"< c #090909",
"[ c #0A0A0A",
" ",
" ",
" ",
" .+@#$%& ",
" *@=-;>, ",
" '%)!~{] ",
" ^$/(_~% ",
" :<[[[ ",
" ",
" "]
def add_filmstrip(pixbuf):
"""
Adds a filmstrip to the left and right of a pixbuf
Returns a pixbuf
"""
filmstrip = gtk.gdk.pixbuf_new_from_xpm_data(xpm_data)
filmstrip_width = filmstrip.get_width()
filmstrip_height = filmstrip.get_height()
filmstrip_right = filmstrip.flip(True)
original = pixbuf
original_height = original.get_height()
thumbnail_width = original.get_width() + filmstrip_width * 2
thumbnail_right_col = original.get_width() + filmstrip_width
thumbnail = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, thumbnail_width, original.get_height())
#add filmstrips to left and right
for i in range(original_height / filmstrip_height):
filmstrip.copy_area(0, 0, filmstrip_width, filmstrip_height, thumbnail, 0, i * filmstrip_height)
filmstrip_right.copy_area(0, 0, filmstrip_width, filmstrip_height, thumbnail, thumbnail_right_col, i * filmstrip_height)
#now do the remainder, at the bottom
remaining_height = original_height % filmstrip_height
if remaining_height:
filmstrip.copy_area(0, 0, filmstrip_width, remaining_height, thumbnail, 0, original_height-remaining_height)
filmstrip_right.copy_area(0, 0, filmstrip_width, remaining_height, thumbnail, thumbnail_right_col, original_height-remaining_height)
if original.get_has_alpha():
thumbnail = thumbnail.add_alpha(False, 0,0,0)
#copy in the original image
original.copy_area(0, 0, original.get_width(), original_height, thumbnail, filmstrip_width, 0)
return thumbnail
if __name__ == '__main__':
import sys
if (len(sys.argv) != 2):
print 'Usage: ' + sys.argv[0] + ' path/to/photo/image'
else:
p = gtk.gdk.pixbuf_new_from_file(sys.argv[1])
p2 = add_filmstrip(p)
p2.save('testing.png', 'png')
|