پرسش و پاسخ : آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php

ALI4GHA

Member
آقامیشه ما دو تا تصویر رو لود کنیم، بعد اونا رو تویه یک تصویر دیگه قرار بدیم؟ منظورم رو میفهمین؟

مثلا یک عکس رو تو متغیر img1 بریزیم، یک عکس دیگه رو توی متغیر img2 بعد مثلا img1 رو با کد ریسایز تصویر که دارم کوچیک کنم،

بعد یه تصویر خالی مثلا 500 در 300 درست کنم و یه گوشش img1 رو بزارم و یک گوشش img2

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

سلام
آیا میشه با همین روش تصاویر متحرک (gif) ساخت که چندین متغییر رو نشون بده؟!

شما می توانید با تابع gd_info() و در قسمت GIF Create Support مشاهده کنید که آیا امکان ایجاد تصاویر gif برای شما وجود دارد یا نه در صورتی که این امکان پشتیبانی نمی شود با دریافت یک کتابخانه خارجی امکان ایجاد تصاویر gif را خواهید داشت اما در رابطه با چگونگی ایجاد تصاویر متحرک در ادامه آموزش ها توضیح خواهم داد
 

RainDigital

Member
ذخیره سازی رنگ در متغیر


سلام. من نمیدونم چرا توی کلاسی که نوشتم، وقتی با تابع colorset، متغیر: $this->color رو مقدار دهی میکنم، برنامه از رنگ ذخیره شده توی متغیر نمیتونه استفاده کنه
 

ALI4GHA

Member
ذخیره سازی رنگ در متغیر


سلام. من نمیدونم چرا توی کلاسی که نوشتم، وقتی با تابع colorset، متغیر: $this->color رو مقدار دهی میکنم، برنامه از رنگ ذخیره شده توی متغیر نمیتونه استفاده کنه

از تابع imagecolorallocate() برای ایجاد یک منبع رنگ استفاده کنید .
استفاده از این تابع را در آموزش ها به صورت کامل توضیح دادم .
 

RainDigital

Member
من از همون imagecolorallocate استفاده میکنم و تابع colorset تابعی هست که من توی کلاسم ساختم برای ست کردن رنگ
 

ALI4GHA

Member
سلام
میشه طریقه نوشتن متن بر روی عکس رو هم اموزش بدید؟

در تاپیک اصلی بصورت کامل توضیح دادم ، امیدوارم خوب نوشته باشم چون عجله ای شد .

من از همون imagecolorallocate استفاده میکنم و تابع colorset تابعی هست که من توی کلاسم ساختم برای ست کردن رنگ

شاید مشکل از قسمت دیگه ای از کدهای شما باشه با این حال دوباره به نحوه استفاده از تابع ImageColorAllocate توجه کنید :

PHP:
$colorset = ImageColorAllocate($image,255,255,255);

این کد متغییر colorset شما را به یک منبع رنگ سفید تبدیل می کند .
 

ALI4GHA

Member
برای تغییر اندازه تصاویر از تابع imagecopyresampled (http://ir.php.net/manual/en/function.imagecopyresampled.php) و همچنین imagecopyresized (http://ir.php.net/manual/en/function.imagecopyresized.php) می تونید استفاده کنید .

اینم نمونه :

PHP:
<?php
// File and new size
$filename = 'test.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 = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

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

// Output
imagejpeg($thumb);
?>


PHP:
<?php
// The file
$filename = 'test.jpg';
$percent = 0.5;

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

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, null, 100);
?>

این یک مثال ساده بود و شما با استفاده از توابع gd کارهای زیادی می تونید انجام بدید . :D
 

jhoseini

Member

پیوست ها

  • thumbnail.txt
    2.7 کیلوبایت · بازدیدها: 9
آخرین ویرایش:

ALI4GHA

Member
ممنون

البته این کدی که شما ذاشتید از طریق http://www.girafa.com/ برای شما preview ایجاد می کنه
فکر نکنم تو php بشه از یه page پیش نمایش گرفت .
 

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

بالا