الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال حول تحرير الصور باستخدام php

مغلق
بدأه abdoun في 8 يونيو 2006 · 3 رد · 594 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الفكرة هي مثل بحث google للصور حيث إنه يأخذ الصورة ويصغرها حجماً وأبعاداً ليعرض نتائج الصور بينما إذا ضغطت على الصورة فإن سيطلب الصورة الأصلية بحجمها وأبعادها

وسؤالي:هل يمكن للمكتبة gd أن تقوم بذلك أي تصغر الصورة بشكل أوتوماتيكي عن طريق الشيفرة النصية؟

وقد بحثت كثيراً فيها فلم أجد سوى التابع:

imagecopyresized();

حيث أني لم أفلح حتى الأن في استخدامه

#2

انا عندي اقتراح بسيط لكن مفيد استخدم HTML لتحديد ابعاد الصوره ،راح تقولي التحديد يخرب الصوره لأنك ماتعرف ابعادها وانا راح ارد عليك B) سوي دالة تاخذ بعدين الصوره و تسوي عليها عمليات رياضيه بطريقه معينه و ترجهلك البعدين صغار يعني مثلا

لو كان بعدين الصوره 200×100 تعطي الداله هذي البعدين و ترجعلك 100×50 طبعا مقدار التصغير انت تختاره على حسب حاجتك

انا ادري اني ما اعرف اشرح عاد الله يعينك على فك الشفرات في كلامي :D

#3

انظر الى هاذا المثال واذا تصعب عليك سوف اشرحه لك

<?php
	$dir = opendir( "pics" );
	$pics = array();
	while( $fname = readdir( $dir ) )
	{
		if ( preg_match( "/[.]jpg$/", $fname ) )
			$pics []= $fname;
	}
	closedir( $dir );
	foreach( $pics as $fname )
	{
	  $im = imagecreatefromjpeg( "pics/$fname" );
	  $ox = imagesx( $im );
	  $oy = imagesy( $im );

	  $nx = 100;
	  $ny = floor( $oy * ( 100 / $ox ) );

	  $nm = imagecreatetruecolor( $nx, $ny );

	  imagecopyresized( $nm, $im, 0, 0, 0, 0, $nx, $ny, $ox, $oy );

	  print "Creating thumb for $fname\n";

	  imagejpeg( $nm, "thumbs/$fname" );
	 }

	 print "Creating index.html\n";

	 ob_start();
	 ?>
	 <html>
	 <head><title>Thumbnails</title></head>
	 <body>
	 <table cellspacing="0" cellpadding="2" width="500">
	 <tr>
	 <?php
	 $index = 0;
	 foreach( $pics as $fname ) {
	 ?>
	 <td valign="middle" align="center">
	 <a href="pics/<?php echo( $fname ); ?>"><img src="thumbs/<?php echo( $fname );
		?>" border="0" /></a>
	 </td>
	 <?php
	 $index += 1;
	 if ( $index % 5 == 0 ) { echo( "</tr><tr>" ); }
	 } 
	 ?>
	 </tr>
	 </table>
	 </body>
	 </html>
	 <?php
	 $html = ob_get_clean();
	 $fh = fopen( "index.html", "w" );
	 fwrite( $fh, $html );
	 fclose( $fh );
	?>
#4

جزاك الله خيراً أخي وقد فهمته ولكن الجديد علي فعللاً الدالة ob_start();

و$html = ob_get_clean();

و الدوال المستخدمة في الصور يعني لو شرحت ستكون مفضل على الرأس

هذا الموضوع مغلق.

مواضيع مشابهة