2010/11/10

Simple Random Image Viewer in Python

P5055943
Nice.France

畫畫,是個人的事。
只要有心,人人都是個畫家。

*****

Usually, I use my flickrRandomImage python script to fetch some random images from my flickr account to amuse myself. However, it heavily depends on the internet access speed. When the network traffic is jammed, it takes a long time to generate 10 thumbnails for each run. Therefore, I decided to go for another way: create a simple image viewer which can randomly pick photos from a designated folder on local hard disk.

Once the decision is made, it won't take too much time to find a starting solution. By choosing python as the development programming language, I can easily find the samples I need on the internet. The first step is to find a workable image viewer written in python. This is not a difficult task because python's library set is very rich; image viewer is something people tend to write as a sample app.

Well, this's what I found:creating-a-simple-photo-viewer-with-wxpython/.
This sample basically provides most of the features I need:
1) pop up a directory dialog to choose a folder
2) to view images in forward/backward direction
3) to toggle Slide View

What's left is:
1) load image files recursively in a folder
2) show image randomly instead of in predefined sequence
3) rotate the image according to the exif orientation information
4) launch image file format associated application to do other actions
5) track the viewed sequence in order to view backward

solution:
1) this is easy part. Check out os.path.walk and search on the internet.
2) use "from random import choice"
3) import exif.py and check the value of "Image Orientation".
    use wxImage.Rotation90 to rotate image accordingly
4) use os.startfile()
5) use a list to keep track of viewed photos

SOURCE:
http://dl.dropbox.com/u/10576598/image_viewer3.py

No comments:

Post a Comment

騎士團長殺人事件 --村上春樹

今年的日文小說看完了。篇幅很長,但規模不大,故事都繞著幾個主要的人物。情節裡有些超現實的場景,但最後卻讓人有點意猶未盡,因為有些想搞懂的疑點,在還沒講清之前就結束了。