محبوبترینها
چگونه با ثبت آگهی رایگان در سایت های نیازمندیها، کسب و کارتان را به دیگران معرفی کنید؟
بهترین لوله برای لوله کشی آب ساختمان
دانلود آهنگ های برتر ایرانی و خارجی 2024
ماندگاری بیشتر محصولات باغ شما با این روش ساده!
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
قیمت انواع دستگاه تصفیه آب خانگی در ایران
نمایش جنگ دینامیت شو در تهران [از بیوگرافی میلاد صالح پور تا خرید بلیط]
9 روش جرم گیری ماشین لباسشویی سامسونگ برای از بین بردن بوی بد
ساندویچ پانل: بهترین گزینه برای ساخت و ساز سریع
خرید بیمه، استعلام و مقایسه انواع بیمه درمان ✅?
صفحه اول
آرشیو مطالب
ورود/عضویت
هواشناسی
قیمت طلا سکه و ارز
قیمت خودرو
مطالب در سایت شما
تبادل لینک
ارتباط با ما
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
آمار وبسایت
تعداد کل بازدیدها :
1846508727
آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php -
واضح آرشیو وب فارسی:سایت ریسک: آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php ALI4GHA 16 شهريور 1386, 15:54سلام من قصد دارم در این تاپیک اطلاعات ناقص خودم را پیرامون GD و کلا قابلیت های گرافیکی php به اشتراک بگذارم تا بلکه به این بهانه از دریای بی کران اطلاعات سایر کاربران مجید آنلاین بهره مند بشم . اطلاعات من در حد مبتدی و گاهی متوسط است و ممکن است به کار حرفه ای ها نیاید اما اگر شما تازه کار با GD را آغاز کرده اید مطمئنا در این تاپیک مطالب جالبی پیدا خواهید کرد . راستی تا یادم نرفته بگم هدفم از ایجاد این تاپیک فقط تبادل اطلاعات است پس دوستان حرفه ای هم در این بحث شرکت کنند تا یک تاپیک پویا و به درد بخور داشته باشیم . بریم سر اصل مطلب و در ابتدا یکسری مقدمات : خیلی ها فکر می کنند که php یک زبان برنامه نویسی است که به ایجاد یکسری صفحات html و انجام یکسری محاسبات محدود شده است اما این تفکر کاملا نادرست است زیرا php نه تنها می تواند این کارها را در سطح بسیار حرفه ای و با قدرت انجام دهد بلکه امکان ایجاد و ویرایش فرمت های مختلف تصویری همانند gif , png , jpg ,... را نیز داراست . ما در این تاپیک به بحث و تبادل نظر پیرامون دستورات و توابع php در رابطه با تصاویر خواهیم پرداخت ، سعی می کنم مطالب را در دسته های زیر به ترتیب بیان کنم تا کاربران دچار سردرگمی نشوند : . دریافت و فعال سازی GD . ایجاد و نمایش تصاویر . کار با رنگ ها . رسم خطوط و اشکال . رنگ آمیزی . رسم منحنی ها و کمان ها . رسم چند ضلعی ها . کار با متون و ترکیب متن و تصویر . تغییر سایز تصاویر . ... فکر کنم این دسته بندی برای شروع کار خوب باشه ولی اگه دوستان دسته بندی بهتری دارند بنویسند تا همه بر مبنای اون کار کنیم . ALI4GHA 16 شهريور 1386, 15:56پشتیبانی از GD در php بصورت پیشفرض فعال نیست و باید آن را فعال کرد ، در ویندوز کار بسیار ساده است و نیاز به دریافت gd نیست ، اما در لینوکس ابتدا باید کتابخانه gd را از سایت زیر دریافت کرد : من در اینجا آموزش فعال سازی gd در ویندوز را می نویسم تا کسانی که از php بر روی localhost استفاده می کنند از آن بهره ببرند و از آموزش راه اندازی gd بر روی لینوکس می گذرم چون معمولا gd در سرورهای هاستینگ فعال است ( اگر نیاز بود بگویید تا آموزش بدهم ). همان طور که گفتم فعال سازی gd در ویندوز بسیار ساده است و فقط کافی است extension مربوط به آن را فعال کنید ، برای این کار فایل php.ini را با notepad باز کنید و به دنبال سطر زیر بگردید : ;extension=php_gd 2.dll حال سمی کولن (;) را از ابتدای این سطر پاک کنید . پس از انجام این کار باید چک کنید که فایل php_gd.dll در مسیر مشخص شده در extension_dir وجود داشته باشد . حالا سرویس www publishing را Restart کنید . کار تمام شد ، اگر می خواهید از فعال شدن این extension مطمئن شوید کافی است تابع phpinfo() را فراخوانی کنید و در خروجی آن به قسمت gd مراجعه کنید . siavashmusic 17 شهريور 1386, 00:14با تشکر از شما ALI4GHA 17 شهريور 1386, 10:15برخی از ویژگی های gd مانند پشتیبانی از jpeg به کتابخانه های خارجی نیاز دارد ، برای اطلاع از فعال یا غیر فعال بودن این قبیل خصوصیات تابع gd_info(0) بسیار کاربردی است . این تابع نیاز به آرگومنت ندارد و یک آرایه انجمنی را درباره تنظیمات gd بر می گرداند . برای اجرای این تابع به این صورت عمل می کنیم : <?php print "<pre>"; print_r( gd_info() ); print "</pre>"; ?> با اجرای این اسکریپت خروجی زیر نشان داده می شود : Array ( [GD Version] => bundled (2.0.28 compatible) [FreeType Support] => 1 [FreeType Linkage] => with freetype [T1Lib Support] => [GIF Read Support] => 1 [GIF Create Support] => 1 [JPG Support] => 1 [PNG Support] => 1 [WBMP Support] => 1 [XPM Support] => [XBM Support] => 1 [JIS-mapped Japanese Font Support] => ) در خروجی بالا عدد 1 به معنی پشتیبانی از خصیصه ی مربوطه می باشد ، مواردی که نیاز به توضیح دارد به شرح زیر است : FreeType Support : پشتیبانی از فونت های FreeType FreeType Linkage : کتابخانه مورد استفاده برای ارائه قابلیتهای FreeType T1Lib Support : پشتیبانی از فونت های type 1 JIS-mapped Japanese Font Support : پشتیبانی از کاراکتر های استاندارد ژاپنی فکر نمی کنم بقیه موارد هم نیاز به توضیح داشته باشد . siavashmusic 17 شهريور 1386, 11:43کابران میتونند در این تاپیک شرکت کنند . . . ALI4GHA 17 شهريور 1386, 21:46در gd برای آن که بتوانید با یک تصویر کار کنید باید با تابع imagecreate () یک منبع تصویر ایجاد کنید . این تابع دو آرگومنت ارتفاع و پهنای تصویر را دریافت می کند و منبعی از نوع تصویر را ایجاد می کند که در توابع مختلف از آن استفاده خواهیم کرد . $image = imagecreate (200,200); php برای کار بر روی تصاویر توابع متعددی ارائه می دهد برای مثال هنگام کار با یک فایل png از تابع زیر استفاده می شود : imagecreatefrompng () و یا برای کار با تصاویر jpeg از این تابع : imagecreatefromjpeg () البته قبل از استفاده از این توابع باید مطمئن شوید که gd از فرمت مورد نظر شما پشتیبانی می کند . ALI4GHA 18 شهريور 1386, 12:13دوستان فکر کنم شما به تذکر های آقا سیاوش و من توجه نکردید : به دلیل اینکه اینجا انجمن مقالات و آموزش ها است از پاسخ به سوالات شما معذوریم شما فقط می توانید آموزش هایتان را در این تاپیک قرار دهید شما می توانید پرسش های خود را در رابطه با این موضوع در تاپیک زیر بپرسید : پرسش و پاسخ : آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php () ALI4GHA 18 شهريور 1386, 13:02در gd برای کار با رنگ ها شما ابتدا می بایست یک منبع از نوع رنگ ایجاد کنید ، برای این کار از تابع imagecolorallocate() استفاده می کنیم . این تابع یک منبع از نوع تصویر و سه عدد بین 0 تا 255 که به ترتیب میزان رنگ های قرمز ، سبز و آبی را مشخص می کنند را دریافت و یک منبع از نوع تصویر را بر می گرداند . $image = imagecreate( 200, 200 ); $red = imagecolorallocate( $image, 255, 0, 0 ); با این کار شما رنگ بک گراند تصویر خود را مشخص کرده اید ، برای نمایش این تصویر در مرورگر وب می توانید از توابعی مانند imagepng() استفاده کنید . این تابع این تابع دارای دو آرگومنت می باشد ، اولی یک منبع تصویری است و آرگومنت دوم مواقعی به کار می رود که شما بخواهید این تصویر بجای نمایش در مرورگر در یک آدرس ذخیر شود ، برای این منظور آدرس مورد نظر را در این آرگومنت قرار می دهیم . <?php header("Content-type: image/png"); $image = imagecreate( 200, 200 ); $red = imagecolorallocate( $image, 255, 0, 0 ); imagepng($image); ?> در اسکریپت بالا که با توابع معرفی شده ایجاد شده است ما با ارسال هدر Content-type به مرورگر اطلاع می دهیم که این داده از نوع تصویر است . شما می توانید اسکریپت زیر را در تگ IMG نیز فراخوانی کنید : <img border="0" src="sample.php" width="200" height="200"> این نمونه یک تصویر png ایجاد می کند شما بسته به تنظیماتی که انجام داده اید می توانید سایر فرمت های تصویری را هم ایجاد کنید . ALI4GHA 19 شهريور 1386, 16:52برای ایجاد یک خط در یک تصویر شما می بایست مختصات نقطه ابتدایی و نقطه انتهای خط را مشخص کنید . در gd گوشه سمت چپ بالای تصویر شروع تصویر محسوب می شود و ایندکس ها از صفر شروع می شوند یعنی یک پیکسل با مختصات 2 و 5 در واقع در مختصات 3 و 6 قرار می گیرد . تابع imageline () یک خط را بین دو نقطه ایجاد می کند ، آرگومنت اول این تابع یک منبع از نوع تصویر را مشخص می سازد چهار آرگومنت بعدی هم مختصات ابتدا و انتهای خط را تعیین می کنند . آرگومنت آخر هم یک منبع از نوع رنگ دریافت می کند . در مثال زیر یک خط بر روی تصویری که در پست قبلی آموزش ساخت آن را فرا گرفتیم رسم می کنیم : <?php header("Content-type: image/png"); $image = imagecreate( 200, 200 ); $red = imagecolorallocate($image, 255,0,0); $blue = imagecolorallocate($image, 0,0,255 ); imageline( $image, 0, 0, 199, 199, $blue ); imagepng($image); ?> در اسکریپ فوق ما دو منبع از نوع رنگ یکی قرمز و دیگری آبی ایجاد کرده و از رنگ قرمز برای پس زمینه و از رنگ آبی برای رسم خط استفاده کرده ایم . ALI4GHA 20 شهريور 1386, 09:26تابع imagefill () در php همان کاری را انجام می دهد که شما در یک برنامه گرافیکی می توانید انجام دهید ، این تابع با آرگومنت هایی که دارد به شما امکان رنگ آمیزی اشکال مختلف را خواهد داد . آرگومنت های این تابع در زیر معرفی شده اند : . یک آرگومنت از نوع منبع تصویر . مختصات آغاز تصویری که باید رنگ شود . یک منبع از نوع رنگ در اسکریپت زیر نحوه استفاده از این تابع نشان داده شده است : <?php header("Content-type: image/png"); $image = imagecreate( 200, 200 ); $red = imagecolorallocate($image, 255,0,0); $blue = imagecolorallocate($image, 0,0,255 ); imageline( $image, 0, 0, 199, 199, $blue ); imagefill( $image, 0, 199, $blue ); imagepng($image); ?> همان طور که مشاهده می کنید این همان اسکریپتی است که در آموزش های قبلی با هم ایجاد کرده بودیم ، در این مرحله فقط تابع imagefill () را در خط هفت فراخوانی کرده ایم . ALI4GHA 22 شهريور 1386, 13:04از تابع imagearc () می توان برای رسم کمان و دایره استفاده کرده ، آرگومنت های این تابع به شرح زیر می باشد : . یک منبع از نوع تصویر . مرکز کمان . عرض . ارتفاع . نقاط شروع و پایان . یک منبع از نوع رنگ کمان های ایجاد شده با این تابع در جهت عقربه های ساعت رسم می شوند شروع کمان از ساعت 3 می باشد . کد زیر یک نیم داریره رسم می کند : imagearc( $image, 99, 99, 180, 180, 0, 180, $blue ); کد فوق یک نیم دایره به مرکزی با مختصات 99 ، 99 و با ارتفاع و عرض 180 رسم می نماید . در دستور زیر یک دایره رسم و آن را رنگ آمیزی می کنیم : <?php header("Content-type: image/png"); $image = imagecreate( 200, 200 ); $red = imagecolorallocate($image, 255,0,0); $blue = imagecolorallocate($image, 0,0,255 ); imagearc( $image, 99, 99, 180, 180, 0, 360, $blue ); imagefill( $image, 99, 99, $blue ); imagepng($image); ?> ALI4GHA 12 مهر 1386, 15:32افزودن متن به تصاویر قبل از اینکه آموزش امروز را شروع بکنم اینو بگم که از دوستان حرفه ای خیلی گله دارم چون همون طور که گفتم هدف من از ایجاد این تاپیک تبادل اطلاعات بود که تا امروز ... دیگه نمی خواستم این تاپیک را بروز کنم الان هم فقط و فقط برای پاسخ به سوال یکی از دوستان این آموزش را می نویسم تا زمانی که سایر دوستان هم آموزش های خودشون را در این تاپیک قرار ندهند من اینجا چیزی نمی نویسم بریم سر اصل مطلب با استفاده از توابعی که تا حالا معرفی کردم و چند تا تابع جدید قصد دارم روشی برای افزودن متن به تصاویر را آموزش بدهم . من قصد دارم متن majidonline را بر روی یک تصویر با نام sample.png درج کنم و سپس یک خروجی از نوع تصویر دریافت کنم ، به کدهای زیر توجه کنید : <? $image = ImageCreateFromPNG("sample.png"); $white = ImageColorAllocate($image,255,255,255); $font = "arial.ttf"; if(isset($_GET[text])) $text = $_GET[text]; else $text = "majidonline"; $size = "20"; $angle="0"; $textbox = ImageTTFBbox($size, $angle, $font, $text); $textbox_width = abs($textbox[2] - $textbox[0]); $textbox_height = abs($textbox[12] - $textbox[1]); $image_width = ImageSX($image); $image_height = ImageSY($image); $x = ($image_width - $textbox_width) / 2; $y = ($image_height - $textbox_height) / 2 + $textbox_height; ImageTTFText($image, $size, $angle, $x, $y, $white, $font, $text); Header("Content-type: image/png"); ImagePNG($image); ImageDestroy($image); ?> در خط دوم این اسکریپت از تابع ImageCreateFromPNG() استفاده شده که یک فایل png را دریافت و سپس تصویری از آن ایجاد می کند ، در این اسکریپت از تابع ImageTTFBbox() که ابعاد متن خاصی را برمی گرداند و نیز توابع ImageSX و ImageSY برای بدست آموردن طول و عرض تصویر ایجاد شده استفاده شده است ( در صورت نیاز به توضیح بیشتر ،سوال خود را در تاپیک پرسش و پاسخ بپرسید ) در سطر 18 متن بر روی تصویر ایجاد و در سطر 20 تصویر جدید به مرورگر ارسال شده است . در سطر 21 حافظه مصرفی با تابع ImageDestroy رها می شود . amirepsilon 24 اسفند 1386, 09:48علی جون کارت عالیه فقط میشه بگی این آموزش ها رو خودت مینویسی یا کس دیگه ای قبلا نوشته ! ممنون یا علی ALI4GHA 24 اسفند 1386, 12:41برداشت آزادی از : و یکسری از تجربه های ناچیز خودم
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 568]
صفحات پیشنهادی
آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php -
آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php --آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php ALI4GHA 16 شهريور 1386, ...
آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php --آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php ALI4GHA 16 شهريور 1386, ...
انتقال وبلاگ به دامین شخصی؟!! -
--انتقال وبلاگ به دامین شخصی؟!! behrouz62 16 شهريور 1386, 13:54سلام دوستان میشه بگید ... آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php - ...
--انتقال وبلاگ به دامین شخصی؟!! behrouz62 16 شهريور 1386, 13:54سلام دوستان میشه بگید ... آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php - ...
طراحي كارت ويزيت با موضوع موبايل -
طراحي كارت ويزيت با موضوع موبايل 0057 21 شهريور 1386, 03:14سلام ابتدا به خاطر سايت خوبي ... آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php - ...
طراحي كارت ويزيت با موضوع موبايل 0057 21 شهريور 1386, 03:14سلام ابتدا به خاطر سايت خوبي ... آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php - ...
Amoozeshe Tasviriye Photoshop -
موفق باشي. homan11r 14 شهريور 1386, 19:40آقا هومن خيلي خوش اومديد به انجمن و ممنون بابت ... آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php - ...
موفق باشي. homan11r 14 شهريور 1386, 19:40آقا هومن خيلي خوش اومديد به انجمن و ممنون بابت ... آشنایی با GD ، ایجاد تصاویر گرافیکی به صورت پویا در php - ...
-
گوناگون
پربازدیدترینها