تغيير اندازه عكس در سرور

با سلام.
من مي خواستم يه عكس كه تو سرور آپلود شده را تغير اندازه بدهم.چند دستور پيدا كردم ولي كيفيت تصوير بهم ريخت.(مي خواهم عكس را كوچك كنم).
با تشكر
 

NabiKAZ

Well-Known Member
سلام
اومده بودم همين سوال رو بپرسم كه ديدم كسي اين سوالو پرسيده و اتفاقا تاپيك اولي هم هست ...

براي ريسايز من تو گوگل سرچ كردم چيزاي خوبي پيدا كردم:http://www.blazonry.com/scripting/upload-size.php

البته من فعلا به مرحله ريسايز نرسيدم و با نصب GD روي local مشكل دارم .. ميشه بگيد تحت ويندوز چطور نصبش كنم . مختصر هم بگيد كافيه .


ممنون
نبي
 
آخرین ویرایش:

NabiKAZ

Well-Known Member
اشکال نداره حالا یکی پیدا میشه سوال هردومون رو جواب بده ...

در مورد سوال خودم ، توی php.ini عبارت extension=php_gd.dll رو فعال کردم ، و فایلش هم تو extensions موجوده ، اما فایده نکرد! لطفا راهنمایی کنید.

در مورد سوال اول تاپیک هم ، میشه بیشتر توضیح بدی که منظورت از اینکه کیفیت تصویر به هم ریخت چیه؟ شاید طول و عرض رو به یه نسبت تغییر ندادی و یه جورایی عکس نا متناسب شده ، میدونی که چطور باید نسبت طول و عرضش رو حفظ کنی؟!

تشکر
نبی
 
<?php
// File and new size
$filename = 'rh.jpg';
$percent = 0.5;

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

// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

// Load
$thumb = imagecreate($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Output
imagepng($thumb);
?>
 
r_hosseinkhani گفت:
کسی بلد نیست gd رو نصب کنه؟


1- وارد فودر PHP بشيد و يك فولدر جديد با نام extensions درست كنيد و فايل php_gd2.dll را در اين فولدر كپي كنيد.

2- در پوشه ويندوز شما يك فايل هست به نام php.ini
اين فايل را اديت كنيد و به دنبال extension=php_gd2.dll; بگرديد و آنرا به extension=/extensions/php_gd2.dll تغيير دهيد.


توجه كنيد كه در عبارت جايگزين بايد ; را از اول خط مورد نظر حذف كنيد.

حالا ميتوانيد با استفاده از تايع ()phpinfo چك كنيد ببينيد كه آيا اين كتابخانه درست نصب شده يا نه.
اگر كه درست نصب شده باشه بايد يك چيزايي شبيه به اين مشخصات پاييني در خروجي ()phpinfo شما وجود داشته باشه.


GD Support enabled
GD Version bundled (2.0.23 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
 

oxygenws

Active Member
1- وارد فودر PHP بشيد و يك فولدر جديد با نام extensions درست كنيد و فايل php_gd2.dll را در اين فولدر كپي كنيد.

2- در پوشه ويندوز شما يك فايل هست به نام php.ini
اين فايل را اديت كنيد و به دنبال extension=php_gd2.dll; بگرديد و آنرا به extension=/extensions/php_gd2.dll تغيير دهيد.

چه کارا!!!
در فایل php.ini برو و مقدار extension_dir رو درست کن. به همین شاخه ای که ویدئو گفت تغییرش بده، البته اسم شاخه ممکنه ext یا extensions باشه (به نسخه php ات مربوطه!)
 
oxygenws گفت:
چه کارا!!!
در فایل php.ini برو و مقدار extension_dir رو درست کن. به همین شاخه ای که ویدئو گفت تغییرش بده، البته اسم شاخه ممکنه ext یا extensions باشه (به نسخه php ات مربوطه!)


آقاي oxygenws متوجه نشدم. آيا من اشتباه راهنمايي كردم؟
 

NabiKAZ

Well-Known Member
از راهنمایی دوستان بسیار ممنونم . مشكلم با نصب حل شد.

كدي كه r_hosseinkhani بالا نوشتند رو منم تست كردم ولي حق با ايشونه تصوير با كيفيت خيلي بد ايجاد ميشه ولي به صورت لوكال مشكلي وجود نداره ..
مثلا اين عكس رو ببينيد:
http://www.ahwazserver.com/temp/resize/hesabi.jpg

با كدي كه بالا نوشته شده اينشكلي ريسايز ميشه:
http://www.ahwazserver.com/temp/resize/index2.php

مساله ديگه چطور ميشه عكس با اندازه جديد رو در غالب يك فايل داشته باشيم .

نبی
 
آخرین ویرایش:

oxygenws

Active Member
ولی وشکل کیفیت حل نشد.
احتمالا نسخه Gd نصب شده روی سرور قدیمی است.
با مدیر سرور تماس بگیرید و درخواست به روز رسانی کنید.

مساله ديگه چطور ميشه عكس با اندازه جديد رو در غالب يك فايل داشته باشيم .
نبی.......
تو رو جون هر گی دوست داری، قبل از پرسیدن، یک دور راهنمای خود Php رو بخون... مردم از بس لینک راهنمای رسمی Php رو بهت دادم :)
 

NabiKAZ

Well-Known Member
سلام
ببخشید دیر پست میزنم .

در مورد کیفیت بد تصویر در خروجی! باید بگم برعکس! یعنی نسخه gd قدیمی که نیست بلکه به خاطر اینکه جدید هست کیفیت تصاویر بد هست . و باید از توابع جدید استفاده بشه .
الان دیگه اکثر سرور ها gd2 روشون نصبه که باید از این توابع استفاده کرد:
imagecreatetruecolor
imagecopyresampled

در کل میشه اینکارو کرد. برای اینکه خیال راحت بشه :
کد:
// Load
$create_function = ($gd_version == 1) ? 'imagecreate' : 'imagecreatetruecolor';
$thumb = $create_function($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Resize
$resize_function = ($gd_version == 1) ? 'imagecopyresized' : 'imagecopyresampled';
$resize_function($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
(البته این بخشی از کد هست)

نبی
 

جدیدترین ارسال ها

بالا