473,395 Members | 1,649 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

help with this loop

Thekid
145 100+
I need help writing a loop for this.
Expand|Select|Wrap|Line Numbers
  1. image = ImageGrab.grab((0,0,800,800))
  2. box = (100,100,400,400)
  3. im = image.crop(box)
  4. im1 = im.save("screen.jpg")
  5. # at this point I need to rotate the image 90 degrees and crop it again, but do this four times-
  6. # so I'd like a loop here instead of this:
  7. im2 = im1.rotate(90)
  8. im3 = im2.crop(box)
  9. im4 = im3.save("screen1.jpg")
  10. im5 = im4.rotate(90)
  11. im6 = im5.crop(box)
  12. im7 = im6.save("screen2.jpg")
  13. im8=im7.rotate(90)
  14. im9=im8.crop(box)
  15. im10=im9.save("screen3.jpg")
  16. # I did try something like this:
  17. # for i in range(3):
  18. #       im,im1,im2
  19. #but that doesn't work
  20.  
any help?
Nov 5 '08 #1
3 1456
bvdet
2,851 Expert Mod 2GB
If you don't need to save any intermediate results, maybe something like this:
Expand|Select|Wrap|Line Numbers
  1. for i in range(1, 4):
  2.     im1.rotate(90).crop(box).save("screen%s.jpg" % i)
Nov 6 '08 #2
bvdet
2,851 Expert Mod 2GB
I thought about it some more, and the code I suggested will only work if the methods modify the image object "in place". I am not so sure whether or not the save method returns an image object, but it probably does not modify the object. Here's the loop again, slightly modified:
Expand|Select|Wrap|Line Numbers
  1. for i in range(1, 4):
  2.     im1 = im1.rotate(90).crop(box)
  3.     im1.save("screen%s.jpg" % i)
Nov 6 '08 #3
Thekid
145 100+
This looks good but when I try it the image will only rotate one time and then the jpg is saved 3 times.
Nov 6 '08 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

3
by: William Buchanan | last post by:
Hi I have the following stored proc in interbase (which might contain errors - i'm doing it off the top of my head), which I would like to convert into oracle. Can you help? What I want back is...
21
by: cjl | last post by:
Hey all: I have the following (ugly) code: function preload() { if (cr_series.length >1) preloadCR(); if (ct_series.length >1) preloadCT(); if (mr_series.length >1) preloadMR(); if...
23
by: Jason | last post by:
Hi, I was wondering if any could point me to an example or give me ideas on how to dynamically create a form based on a database table? So, I would have a table designed to tell my application...
1
by: al2004 | last post by:
Write a program that reads information about youth soccer teams from a file, calculates the average score for each team and prints the averages in a neatly formatted table along with the team name....
1
by: trunxnirvana007 | last post by:
'UPGRADE_WARNING: Array has a new behavior. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="9B7D5ADD-D8FE-4819-A36C-6DEDAF088CC7"' 'UPGRADE_WARNING: Couldn't resolve...
9
by: TF | last post by:
Hello all, I made a ASP.NET 2.0 site that shows possible "recipes" for paint colors stored in an access dbase. Basically, 1000 colors are stored with specific RGB values in separate columns. A...
6
by: jenipriya | last post by:
Hi all... its very urgent.. please........i m a beginner in oracle.... Anyone please help me wit dese codes i hv tried... and correct the errors... The table structures i hav Employee (EmpID,...
0
by: shrik | last post by:
I have following error : Total giant files in replay configuration file are : File name : /new_file/prob1.rec Given file /new_file/prob1.rec is successfully verified. Splitting for giant file...
41
by: c | last post by:
Hi every one, Me and my Cousin were talking about C and C#, I love C and he loves C#..and were talking C is ...blah blah...C# is Blah Blah ...etc and then we decided to write a program that...
1
by: mshroom12 | last post by:
Hello to all. I am having difficulty trying to do this Java project using Eclipse. The following is what I have to do. Election Day It's almost election day and the election officials need a...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.