آپلودر تصویر مناسب با امکان Crop

[rtl][font="Tahoma"]کسی آپلود کننده تصویر مناسب که امکان Crop کردن تصویر قبل از اپلود رو داشته باشه سراغ داره؟

من ۲-۳ تا اکستنشن بر مبنای jcrop پیدا کردم که یا خیلی قدیمی بودن و یا باگ های زیادی داشتن.[/font][/rtl]

[size=2]خودت بنویس… ، همیشه که نباید چیز آماده استفاده کنی برادر :D[/size]

[rtl][font="Tahoma"]

بله با شما موافقم :)

این اکستنشن های حاظری همیشه هم مناسب و کار راه بنداز نیستن و گاهی وقت ها باید استین بالا زد

[/font][/rtl]

[rtl][font=“Tahoma”]آقا لطفا اگر آستین بالا زدید open source اش کنید ما هم دعاگو میشیم :D[/font][/rtl]

[size=2]

[/size]

[size=2]من برات مینویسم ولی دعا نمی گیرم، پول میگیرم :v :P[/size]

[rtl][font="Tahoma"]

سلام

من ۳ روز وقت گذاشتم و تقریبا تمام اکستنش های crop رو در اینجا نصب و بررسی کردم.

تقریبا هیچ کدام قابل استفاده نبودن یا نصفه بودن یا خیلی قدیمی و یا هر دو! بعضی‌هاشون هم باگ های ابتدایی و خنده داری داشتن و وقتی می خواستم کدشون رو اصلاح کنم، انقدر شلوغ بود که ادم دچار استرس و وحشت می شد.

ضمنا عیر از nava-jcrop بقیه توضیحات کامل برای نصب هم نداشتن! که کار رو برای یک ادم معمولی که با جاوا اسکریپت اشنایی نداره خیلی سخت می کرد.

اتفاقا دیشب می‌خواستم یک آگهی بزارم برای جذب پیمانکار ولی دیدم تا بخوام یه فرد مناسب پیدا کنم و تا توجیه بشه باز هم کلی زمان از دست رفته.

نتیجه بررسی من این شد که این نکته می تونه کمی اختصاصی باشه چون هر کسی در برنامه خودش منطق خاصی برای سر و کله زدن با تصویر می تونه داشته باشه. ضمن اینکه هر اکستنشنی که چک کردم تازه اگه درست کار می کرد هم با نیاز به دستکاری داشت تا نیازهای خودم رو جواب بده و احساس کردم چاره ایی نیست جز نوشتن اون.

نوشتن یک اکستنشن که عمومی باشه و نیازهای عمومی رو جواب بده نیازمند نوشتن یک ویگت جامع هستش که خودش یه کار جداگانه میشه اما با توضیحاتی که خیلی ساده در سایت jcrop هست هر کسی می تونه خیلی راحت توتوریال اونها رو استفاده کنه.

بدون نوشتن ویگت و صرفا با لود کردن جاوا اسکریپت‌ها در ویو سعی می کنم خیلی ساده و سریع کارمو راه بندازم.

من الان متوجه شدم اگه همون روز اول خودم استین بالا زده بودم، تا الان خودم کد رو تموم کرده بودم.

به همه دوستان پیشنهاد می کنم سایت اصلی JCrop رو ببینن. خیلی ساده گفته

خیلی راحت با نصف روز یا یک روز وقت گذاشتن برای خوندن و بازی کردن با مثال هاش میشه یه دید کلی بدست آورد و روز بعدش هم کد مناسب برای برنامه خودتون بنویسید. نیازی به آشنایی قبلی با jqury هم نداره چون خیلی ساده و در حد کسی که فقط html بلده، توضیحات رو نوشتن.

نحوه استفاده از توتوریال:

لطفا این صفحه رو باز کنید. کد این صفحه در فایل دانلود jcrop هستش.

برای اینکه در مثال بالا، تصویر در یک فایل روی سرور ذخیره بشه کافیه تغییرات زیر رو لحاظ کنید:

کد اولیه در فایل crop.php

[/font][/rtl]




if ($_SERVER['REQUEST_METHOD'] == 'POST')

{

	$targ_w = $targ_h = 150;

	$jpeg_quality = 90;


	$src = 'demo_files/pool.jpg';

	$img_r = imagecreatefromjpeg($src);

	$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );


	imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],

	$targ_w,$targ_h,$_POST['w'],$_POST['h']);


	header('Content-type: image/jpeg');

	imagejpeg($dst_r,null,$jpeg_quality);


	exit;

}



[rtl][font="Tahoma"]

بعد از تغییر:

[/font][/rtl]




if ($_SERVER['REQUEST_METHOD'] == 'POST')

{

	// width and height of target image in pixel that will be saved on your server after crop

	$targ_w = $targ_h = 150;

	// quality between 0 to 100 (100 maximum quality).

	$jpeg_quality = 90;


	// Path of source file on your server

	$src = 'demo_files/pool.jpg';

	// Path of cropped file after upload on your server

	$destination='demo_files/pool2.jpg';


	$img_r = imagecreatefromjpeg($src);

	$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );


	imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],

	$targ_w,$targ_h,$_POST['w'],$_POST['h']);


	// Save the destination file

	imagejpeg($dst_r,$destination,$jpeg_quality);


	exit;

}



[rtl][font="Tahoma"]

البته jquery یک پلاگ این به اسم load-image داره که میشه از اون هم استفاده کرد ولی کمی پیچیده میشه. ایده من اینه که خیلی ساده تصویر رو مثل یک فایل روی سرور اپلود کنیم و سپس توتوریال بالا برای نشان دادن تصویر به کاربر و کراپ کردن و نهایتا ذخیره تصویر کراپ شده که ریسایز شده هم هست! روی سرور استفاده بشه.

[/font][/rtl]

[rtl][font="Tahoma"]بسیار ممنون از توضیحات جامع تون جناب امیری، راهنمای خوبی برای شروع بود

آقا عماد امیدوارم به شوخی اون حرف رو زده باشید، اگر همه اون دید بازاری رو داشتند الان Yii فرمورک ای هم وجود نداشت که ما تو فروم اش صحبت کنیم. یه افزونه این شکلی که دیگه این حرفارو نداره![/font][/rtl]

[rtl]شک نکن…[/rtl]