PDA

View Full Version : حرفه ای: مفسری در PHP به نام STP



alinwp
چهارشنبه 30 مهر 1393, 15:01 عصر
درود
STP یک مفسر ساده است که توسط بنده نوشته شده است (Smart Text Processor) این مفسر به زبان PHP نوشته شده است ، و دارای زبان مخصوص به خود است از امکانات آن میتوان پشتیبانی از متغیر ها (در رنگ و متن) اشاره نمود
این مفسر اطلاعاتی را گرفته و تصویر تفسیر شده را برمیگراند و امکان ذخیره تصویر در آدرس دلخواه را دارد.
تمامی این اطلاعات از فایل های ساده ای با پسوند stp گرفته می شوند
آموزش :
برای ایجاد یک تصویر با ابعاد 500 در 500 و رنگ سفید ار کد زیر استفاده مینماییم

stp(500,500)
rgb(255,255,255)
یا برای ایجاد یک متغیر به نام a و مقدار 3 از کد زیر استفاده مینماییم

*a = 3
مستطیلی به طول 100 و ارتفاع 300 با رنگ مقدار سفید که از نقطه (50,50) شروع شود

*white = rgb(255,255,255)
4(50,50,100,300,*white)
خطی از نقطه (50,100) شروع شده و در نقطه (200,100) تمام شود (طول برابر 150)

*white = rgb(255,255,255)
2(50,100,200,100,*white)
دایره ای به شعاع های 50 و 50 که از درجه 0 تا 360 (دایره کامل) باشد و مرکز آن در نقطه (250,250) قرار گیرد

*white = rgb(255,255,255)
0(250,250,50,50,0,360,(249,249,250))
ایجاد متن با سایز 7 با شروع از 110،170 با نوشته d با رنگ قرمز (دو مورد آخر رنگ و نوشته از متغیر پشتیبانی میکنند)

str(7,110,170,"d",(250,50,50))
ذخیره تصویر ایجاد شده: مورد اول نوع فایل که می تواند یکی از موارد png,jpeg,gif باشد مورد دوم اسم و محل ذخیر فایل مورد سوم شفافیت که از 0 تا 9 متغیر است

save(png,9.png,9)
نحوه کانفیگ کردن کد:
ابتدا فایل config.stp.php رو باز کنید در این فایل 2 متغیر به صورت زیر وجود دارد

$wwwdir = "www";
$defaultpage = "index";
مورد اول مکان پوشه ای است که فایل ها در آن قرار دارند و مورد دوم نام فایلی است که بصورت پیش فرض باز میشود مورد دوم را بدون پسوند وارد کنید پسوند برابر .stp می باشد
برای بازکرد ن فایلی دیگر به روش زیر از متد Get استفاده مینماییم ورودی نباید دارای پسوند باشد

site.com/?f=test
در مثال بالا داده ها از فایل test.stp در پوشه www خوانده میشوند
خوشحال میشم نظرتون رو بدونم فایل رو برای دانلود پیوست کردم

ravand
پنج شنبه 01 آبان 1393, 08:17 صبح
نمیدونم اشتباه میکنم یا نه!
ولی اینکه خود کتابخانه ی GD هست . و طرف امده توش دست برده!
حالا این کاری که شده و شما گذاشتید چه امکانی رو به کتابخانه ی GD اضافه کرده؟

alinwp
پنج شنبه 01 آبان 1393, 09:15 صبح
در اینجا ما یک سری تغیراتی از جمله در تابع imagerectangle به وجود آمده است ولی پایه کار همان کتابخانه GD است و این رو من به عنوان اولین مفسر خودم نوشتم سازندش خودمم

ravand
پنج شنبه 01 آبان 1393, 09:17 صبح
در اینجا ما یک سری تغیراتی از جمله در تابع imagerectangle به وجود آمده است ولی پایه کار همان کتابخانه GD است و این رو من به عنوان اولین مفسر خودم نوشتم سازندش خودمم
شما به من نگفتی این مفسر شما چه کاری انجام میده که خود GD انجام نمیده؟ من فقط همینو میخواستم بدونم.

alinwp
پنج شنبه 01 آبان 1393, 09:53 صبح
تو این نسخه و تا اینجا فعلا هیچی ولی دوست دارم کاملش کنم

ravand
پنج شنبه 01 آبان 1393, 10:18 صبح
تو این نسخه و تا اینجا فعلا هیچی ولی دوست دارم کاملش کنم
من تازه با دیدن فایل index.stp همه چی دستگیرم شد.:لبخند:
کاش همون اول در موردش میگفتید. توی توضیحاتتون نگاه کردم ندیدم. برای همین من در مورد این کار شما اشتباه فکر کردم.
کار جالبیه. شما با این روش امدید کدنویسی رو ساده تر کردید:

stp(800,500)
rgb(50,60,0)
کار جالبی بود ادامه بدید. امیدوارم موفق باشید.:تشویق:

alinwp
پنج شنبه 01 آبان 1393, 13:27 عصر
من تازه با دیدن فایل index.stp همه چی دستگیرم شد.:لبخند:
کاش همون اول در موردش میگفتید. توی توضیحاتتون نگاه کردم ندیدم. برای همین من در مورد این کار شما اشتباه فکر کردم.
کار جالبیه. شما با این روش امدید کدنویسی رو ساده تر کردید:

stp(800,500)
rgb(50,60,0)
کار جالبی بود ادامه بدید. امیدوارم موفق باشید.:تشویق:
ممنون از نظرتون پست اول بروز رسانی شد

alinwp
پنج شنبه 01 آبان 1393, 16:22 عصر
درود
نظر شما نسبت به این که خروجی php هم براش بزارم چیه ؟
یعنی کد php خروجی بده