Gd2 و ساخت تصاویر با کیفیت آشغال!؟

my friend

Member
سلام

test%20copy.jpg
و
test%20copy.jpg


هر دو thumbnail به یک اندازه هستن. هر دو از یک تصویر با کیفیت 100% که از سایت یاهو گرفتم ساخته شده اند...
اما میبینید که یکی از تصاویر کیفیت بالاتر ، اما حجم کمتری داره... دیگری حجم بیشتر و کیفیت خیلی کمی داره...

اونی که کیفیتش کمه روی لوکال هاست ، توسط GD2 ساختم ، اونی که کیفیتش بیشتر هست رو توسط آپلود سنتر مجید آنلاین ساختم... اما چرا کیفیت اونی که خودم ساختم اینقدر کمه؟
این مشکل برای متن ها اتفاق می افته ، تصاویر با کیفیت خوبی تغییر اندازه میدن... اینو ببینید که رو لوکال و با استفاده از GD2 ساختم و دست به کد PHP نزدم:
test%20copy.jpg

ممکنه این مشکل با استفاده از Image Magick حل بشه؟ اصلا مجید آنلاین از IM استفاده میکنه؟ یا GD؟

در ضمن ، باید بگم که همه تصاویری که تو این پست گذاشتم در اصل در اندازه 768×1024 بودند... کیفیت همشون عالی بود...
تا حالا با این مشکل مواجه نشده بودم.... باید بگم که بعد از کوچک کردن اگه روی تصویر چیزی بنویسم کیفیت متنش خوبه ، اما اگه متنی روی تصویر نوشته شده باشه و تغییر اندازه بدم این مشکل اتفاق می افته...
 
آخرین ویرایش:

my friend

Member
خروجی ها برای اینکه حجم کمتری داشته باشن jpeg هست که درصدی هم کیفیتش رو کم میکنم....
اما وقتی کیفیت رو روی 100% میزارم هم این مشکل اتفاق می افته... با فرمت های png gif هم که فرمت های رایج هستن امتحان کردم... باز هم این مشکل وجود داره...

من احتمال می دم مشکل از ناسازگاری نسخه ی php و GD نصب شده روی لوکال باشه .
من از xampp استفاده میکنم...
PHP version: 5.2.3
GD version: 2.0.34
 
آخرین ویرایش:

.:: Ali ::.

Member
با این اوصاف یه مشکل خاصه ، شاید به خاطر ویندوز باشه !!! شایدم تو لینوکس بهتر جواب بده ، نمی دونم واقعا " ، تا حالا بهش برخورد نکردم ! ورژن ها کاملا" سازگار هستن ، یا بقیه ی ویژوال سرور هام همین مشکل بوده ؟
 

my friend

Member
ببخشید ، اگه زحمتی نیست شما اینو یه تست بکنید...

آدرس تصویر:
http://img.majidonline.com/pic/109947/watermark.jpg

و این هم کد PHP:

PHP:
$filename = 'image.jpg';

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

list($width, $height) = getimagesize($filename);
$newwidth = 150;
$newheight = $height / ($width/$newwidth);

$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

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

imagepng($thumb);

در ضمن... من imagick رو تو php.ini فعال کردم ، اما موقع استفاده این پیغام رو میده... تا حالا باهاش کار نکرده بودم... نمیدونم چرا اینطوریه:
کد:
<br />
<b>Fatal error</b>:  Uncaught exception 'ImagickException' with message 'Can not process empty wand.' in L:\htdocs\imagick\index.php:7
Stack trace:
#0 L:\htdocs\imagick\index.php(7): Imagick-&gt;blurimage(5, 3)
#1 {main}
  thrown in <b>L:\htdocs\imagick\index.php</b> on line <b>7</b><br />
این کدی هست که از php.net گرفتم و برای blur دادن به تصویره: ( حتی برای ریسایز تصاویر هم ارور میده... )
PHP:
header('Content-type: image/jpeg');
$image = new Imagick('image.jpg');
$image->blurImage(5,3);
echo $image;
خودم چند ماه پیش خیلی گشتم ، اما آموزش برای نصب روی لوکال پیدا نکردم... میدونید چطور میشه نصبش کرد؟
 
آخرین ویرایش:

jhoseini

Member
من هم این مشکل رو داشتم
اینو تست کنید، فکر میکنم نتیجه بهتری بده
 

پیوست ها

  • photo.resize.zip
    1.9 کیلوبایت · بازدیدها: 14

my friend

Member
خیلی ممنون...
اما یه سری مشکل داره.... نباید اینو اینجوری میساختن... باید بشینم ویرایشش بکنم....
یه تصویر باارزش رو روش امتحان کردم.... به یه thumbnail تبدیل شد و کلی حرص خوردم...

بازم ممنون!
 
آخرین ویرایش:

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

بالا