با سلام
بر خلاف ذهنیت غلط خیلی از دوستان نصب نرمآافزارها در اکثر توزیعآهای لینوکس خیلی ساده است. اکثر نرمآافزارآها و کتابخانهآها در لینوکس به صورت بسته وجود دارند به عنوان مثال در لینوکسآهای بر پایه دبیان کافی است در شل تایپ کنید:
sudo apt-get install package-name
تجربهآای ساده:
دیروز بعد از دیدن این تاپیک و همچنین خواندن مدخل اعداد اول در ویکیآپدیا به ذهنم رسید که برای تصویر background کامپیوترم جدولی از اعداد اول به اندازه پشت زمینه (1280x800) درست کنم. چون به زبان پایتون علاقهآمندم با خودم گفتم تصویر مورد نظرم را با زبان پایتون درست کنم. برای درست کردن تصویر کتابآخانهآای به نام gd وجود دارد که میآتواند تصاویر به فرمتآهای مختلف را درست کند، یکی از ویژگیآهای پایتون هم اتصال به کتابآخانهآآها است به همین دلیل برای اکثر کتابخانهآها wrapper وجود دارد و میآتوان به راحتی از آنها در پایتون استفاده کرد.
خوب حالا من که میآخواهم از python و gd استفاده کنم کافی است در شل بنویسم (زیبایی بستهآها این است که اگر بستهآای وابسته به بستهآهای دیگر بود خود برنامه به صورت خودکار بستهآهای مورد نیاز را نیز نصب میآکند به عنوان مثال در اینجا بستهآی libgd2-xpm بسته کتابخانه اصلی است که اگر در سیستم نصب نباشد به صورت خودکار نصب خواهد شد):
sudo apt-get install python-gd
بعد از نصب ابتدا سری به مستندات/راهنما موجود برای بسته میآزنیم چون ممکن است چیز مفیدی آنجا وجود داشته باشد (در مثال ما راهنما در usr/share/doc/python-gd/ قرار دارد)! جالب است برای این بسته یک فایل نمونه وجود دارد که برنامهآام را بر پایه آن نوشتم.
* احتمالا با خودتان بگویید «این هم تصویر پشت زمینه شد!؟»
* جالب است که gnome تصویر پشت زمینه را با به روز شدن فایل تصویر آن به روز میآآکند یعنی به راحتی میآتوانید پشت زمینه را هر وقت خواستید با عوض کردن آن فایل به روز کنید.
کد پایتون:
یک تصویر نمونه که اعداد اول را در اعداد ۱ تا ۲۰۰۰ نشان میآدهد (رنگ زرد اعداد اول هستند):
بر خلاف ذهنیت غلط خیلی از دوستان نصب نرمآافزارها در اکثر توزیعآهای لینوکس خیلی ساده است. اکثر نرمآافزارآها و کتابخانهآها در لینوکس به صورت بسته وجود دارند به عنوان مثال در لینوکسآهای بر پایه دبیان کافی است در شل تایپ کنید:
sudo apt-get install package-name
تجربهآای ساده:
دیروز بعد از دیدن این تاپیک و همچنین خواندن مدخل اعداد اول در ویکیآپدیا به ذهنم رسید که برای تصویر background کامپیوترم جدولی از اعداد اول به اندازه پشت زمینه (1280x800) درست کنم. چون به زبان پایتون علاقهآمندم با خودم گفتم تصویر مورد نظرم را با زبان پایتون درست کنم. برای درست کردن تصویر کتابآخانهآای به نام gd وجود دارد که میآتواند تصاویر به فرمتآهای مختلف را درست کند، یکی از ویژگیآهای پایتون هم اتصال به کتابآخانهآآها است به همین دلیل برای اکثر کتابخانهآها wrapper وجود دارد و میآتوان به راحتی از آنها در پایتون استفاده کرد.
خوب حالا من که میآخواهم از python و gd استفاده کنم کافی است در شل بنویسم (زیبایی بستهآها این است که اگر بستهآای وابسته به بستهآهای دیگر بود خود برنامه به صورت خودکار بستهآهای مورد نیاز را نیز نصب میآکند به عنوان مثال در اینجا بستهآی libgd2-xpm بسته کتابخانه اصلی است که اگر در سیستم نصب نباشد به صورت خودکار نصب خواهد شد):
sudo apt-get install python-gd
بعد از نصب ابتدا سری به مستندات/راهنما موجود برای بسته میآزنیم چون ممکن است چیز مفیدی آنجا وجود داشته باشد (در مثال ما راهنما در usr/share/doc/python-gd/ قرار دارد)! جالب است برای این بسته یک فایل نمونه وجود دارد که برنامهآام را بر پایه آن نوشتم.
* احتمالا با خودتان بگویید «این هم تصویر پشت زمینه شد!؟»
* جالب است که gnome تصویر پشت زمینه را با به روز شدن فایل تصویر آن به روز میآآکند یعنی به راحتی میآتوانید پشت زمینه را هر وقت خواستید با عوض کردن آن فایل به روز کنید.
کد پایتون:
کد:
#!/usr/bin/env python import gd, os, sys def isPrime(number): if number == 1: return False if number == 2: return True if number % 2 == 0: return False maxnum = number**0.5+1 i = 3 while i<=maxnum: if number % i == 0: return False i=i+2; return True imageWidth = 1280 imageHeight = 800 blockSize = 8 blockLine = 1 fileName = "output.png" im = gd.image((imageWidth,imageHeight)) colorPrime = im.colorAllocate((200, 200, 10)) colorNoPrime = im.colorAllocate((10, 150, 200)) colorBack = im.colorAllocate((0, 0, 0)) #im.colorTransparent(colorBack) #im.interlace(1) number =1 for y in xrange(0,imageHeight/blockSize): for x in xrange(0,imageWidth/blockSize): if isPrime(number): color=colorPrime else: color=colorNoPrime im.filledRectangle((x*blockSize+blockLine,y*blockSize+blockLine),\ ((x+1)*blockSize-blockLine,(y+1)*blockSize-blockLine),color) number = number+1 print "Total # of prime numbers ",number-1 f=open(fileName,"w") im.writePng(f) f.close()
یک تصویر نمونه که اعداد اول را در اعداد ۱ تا ۲۰۰۰ نشان میآدهد (رنگ زرد اعداد اول هستند):

دیدگاه