ABA


"איך אפשר להקטין תמונות עם GD?"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #11763 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11763
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   11:34   19.03.07   
אל הפורום  
  איך אפשר להקטין תמונות עם GD?  
 
   בס"ד.

יש לי מצבור של תמונות על השרת אני רוצה להריץ איזה סקריפט
שיקח כל תמונה ופשוט יכווץ אותה למימדים קבועים מראש
בעצם יצירת thumns .

איך לקחת מידע על הקובץ אני יודע, איך לקבוע גדלים חדשים ביצעתי

אני רק צריך את השורה שתיקח את התמונה המקורים ותייצר עותק חדש
בגודל קטן .


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  כנס akoka 19.03.07 11:48 1
  הנה קוד ב-PHP איך לעבור על התיקיה: FireAngel 19.03.07 12:04 2
  תודה לשניכם אבל לא ממש הבנתי code_blue  19.03.07 12:24 3
     imagecopyresized akoka 19.03.07 12:35 4
         תודה אבל לא הבנתי מה כל הדברים שצריך להוסיף code_blue  19.03.07 13:29 5
             שום אופרטורים אתה מתכוון פרמטרים akoka 19.03.07 13:34 6
  חבר'ה בעייה עם הקוד .. code_blue  19.03.07 23:56 7
     תראה את הloop שאתה מנסה לעשות? akoka 20.03.07 00:16 8
         זה קוד סתם פשוט (מסורבל) code_blue  20.03.07 00:52 9
             תעשה המרה של סוגרים מרובעות הם נעלמו לך:| akoka 20.03.07 01:08 10
                 לא הבנתי מה זאת אומרת ? code_blue  20.03.07 10:15 11
                     תוסיף ככה akoka 20.03.07 10:58 12
  אולי הייתי קצת לא מובן ! code_blue  20.03.07 15:52 13
     מה שנתתי לך akoka 20.03.07 15:58 14
         אני רציתי שלא ישמור לי code_blue  20.03.07 16:58 15
             אממ אז למה לסבך אותנו?? akoka 20.03.07 17:13 16
                 הרעיון המקורי היה ככה: code_blue  20.03.07 23:02 18
  מה בנוגע למחיקת התמונה המקורית לאחר ה-RESIZE? FireAngel 20.03.07 22:57 17
     לא עשיתי את זה כי אני לא צריך code_blue  20.03.07 23:03 19

       
akoka

דרג אמינות חבר זה
   11:48   19.03.07   
אל הפורום  
  1. כנס  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 19.03.07 בשעה 11:48 בברכה, akoka
 
תרוץ עם לולאת for ותעשה את התנאי

//
קריאה של הקבצים בתיקיה
להוציא את כול הקבצים בתור מערך
//
for ($i=0;$i<array_count_values(מערך של הקבציים);$i++){
imagecopyresized("imagepath/".$filename[$i]),כול הקורדינאטות של התמונה);
}
משו כזה אם תרצה קוד מוכן תקבל


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
FireAngel

דרג אמינות חבר זה
   12:04   19.03.07   
אל הפורום  
  2. הנה קוד ב-PHP איך לעבור על התיקיה:  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 19.03.07 בשעה 12:05 בברכה, FireAngel
 

<?php
$dirname = "yourdirname";
if ($handle = opendir($dirname))
{
while (false !== ($file = readdir($handle)))
{
// $file - שם הקובץ
// הקוד בג'ידי
}
closedir($handle);
}
?>

אני די ממהר, בטוח יעזרו לך בחלק של הקוד של GD ככה שהכל ייצא מושלם :]


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   12:24   19.03.07   
אל הפורום  
  3. תודה לשניכם אבל לא ממש הבנתי  
בתגובה להודעה מספר 0
 
   אני צריך רק את הפעולה הפיזית של הGD...

איך לעבור על הקבצים ועל התיקיות אני יודע אני דווקא משתמש ב GLOB
וזה עובד אחלה ..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   12:35   19.03.07   
אל הפורום  
  4. imagecopyresized  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   13:29   19.03.07   
אל הפורום  
  5. תודה אבל לא הבנתי מה כל הדברים שצריך להוסיף  
בתגובה להודעה מספר 4
 
   שם שצריך לכתוב ?
יש כל מיני אופרטורים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   13:34   19.03.07   
אל הפורום  
  6. שום אופרטורים אתה מתכוון פרמטרים  
בתגובה להודעה מספר 5
 
   תריץ חיפוש בגוגל php thumbnails create וחפש פה Fixxxer נתן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   23:56   19.03.07   
אל הפורום  
  7. חבר'ה בעייה עם הקוד ..  
בתגובה להודעה מספר 0
 
   בעבור תמונה אחת זה עובד מעולה!!!
כשאני עושה כבר איזה לופ
זה לא עובד זה מראה תמונה אחת וזהו !
וזה משגע אותי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   00:16   20.03.07   
אל הפורום  
  8. תראה את הloop שאתה מנסה לעשות?  
בתגובה להודעה מספר 7
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   00:52   20.03.07   
אל הפורום  
  9. זה קוד סתם פשוט (מסורבל)  
בתגובה להודעה מספר 8
 
   בעקרון אבל אמור לעבוד , אין סיבה שלא
<?php
$album=$_GET;
header('Content-type: image/jpeg');

foreach (glob("$album/*.jpg") as $filename)
{ $co++;
list($width, $height) = getimagesize($filename);
$pics=$filename;
$picsn=str_replace("$album/",'',$filename);
if ($height > $width)
{
$ratio= ($height/$width);
$nheight="125";
$nwidth=($nheight/$ratio);
}
else
{
$ratio= ($width/$height);
$nwidth="125";
$nheight=($nwidth/$ratio);
}
$no++;
}

foreach (glob("$album/*.JPG") as $filename)
{
list($width, $height) = getimagesize($filename);
$pics=$filename;
$picsn=str_replace("$album/",'',$filename);
if ($height > $width)
{
$ratio= ($height/$width);
$nheight="125";
$nwidth=($nheight/$ratio);
}
else
{
$ratio= ($width/$height);
$nwidth="125";
$nheight=($nwidth/$ratio);
}
$no++;
}

for ($aaa=0 ; $aaa<$no ; $aaa++)
{
$nwid=$nwidth;
$nheig=$nheight;
$picz=$pics;
$thumbz=imagecreatetruecolor('125','125');
$source = imagecreatefromjpeg($picz);
imagecopyresized($thumbz,$source, 0, 0, 0, 0, 125, 125, 640,480);
imagejpeg($thumbz) ;
}

?>


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   01:08   20.03.07   
אל הפורום  
  10. תעשה המרה של סוגרים מרובעות הם נעלמו לך:|  
בתגובה להודעה מספר 9
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   10:15   20.03.07   
אל הפורום  
  11. לא הבנתי מה זאת אומרת ?  
בתגובה להודעה מספר 10
 
   הלולאה עובד מצויין
ניסיתי לעשות בסוף
imagejpeg($thumbz,$npic) ;
כאילו שישמור לי את זה כקובץ .
וזה עובד פצצות!! זה יוצר לי באמת קבצים חדשים לפי הגודל החדש
אבל רק להציג הוא לא עושה את זה
הוא מציג משום מה רק תמונה אחת


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   10:58   20.03.07   
אל הפורום  
  12. תוסיף ככה  
בתגובה להודעה מספר 11
 
  

<?php
$dirname = "images";
if ($handle = opendir($dirname)) {
while (false !== ($file = readdir($handle)))
{
echo "<img src=\"$dirname/$file\"/>";
}
closedir($handle);
}
?>

כשdirname היא התיקיה של הthumbs תשנה את זה למה שבא לך אם תרצה כול שורה מספר תמונות אז תכתוב נשנה לך את זה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   15:52   20.03.07   
אל הפורום  
  13. אולי הייתי קצת לא מובן !  
בתגובה להודעה מספר 0
 
   הבעייה היא לא בהצגה של התמונות מקבצים קיימים .

אני רוצה פשוט מה שנקרא On line ..
שהפעולה תמזער את התמונה ותציג אותה .


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   15:58   20.03.07   
אל הפורום  
  14. מה שנתתי לך  
בתגובה להודעה מספר 13
 
   רץ על כול התיקיה של הThumbNails ומציג אותם אחרי המזעור מה הבעיה אני לא מבין?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   16:58   20.03.07   
אל הפורום  
  15. אני רציתי שלא ישמור לי  
בתגובה להודעה מספר 14
 
   אלא פשוט יציג את זה בגודל החדש...

אבל בסוף ראיתי שלא הולך אז אימצתי את השמירה כTHUMB בגודל מתאים
ו.. זה עובד מיעולה ;-)


תודה לכולם


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   17:13   20.03.07   
אל הפורום  
  16. אממ אז למה לסבך אותנו??  
בתגובה להודעה מספר 15
 
   תרוץ על התיקיה עם התמונות הגדולות ותציג ככה

<img src="$file" width="רוחב" heigth="גובה"/>
למה אתה רוצה ליצור THUMBNAILS בPHP אם אתה לא שומר אותם?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   23:02   20.03.07   
אל הפורום  
  18. הרעיון המקורי היה ככה:  
בתגובה להודעה מספר 16
 
   כמו שאתה כתבת :
<img src="$file" width="רוחב" heigth="גובה"/>
אבל !
מה שקורה שיש לי תמונות מאוד גדולות (גודל ורזולוצייה)
ולמרות שהייתי שם תגים שיגבילו את הגודל הצגה, היה לוקח הרבה זמן
עד שהתמונות נטענו .

אז חשבתי לעשות THUMBS אבל , לא לשמור אותם כקבצים חדשים
אלא פשוט לתת לGD לשנות להם את הגודל עוד לפני שהם נטענים לדפדפן
ואז זה היה מציג מהר יותר.
הבעייה שלא הצלחתי לעשות עם לולאה רק הצגה של התמונות
זה תמיד הראה רק תמונה אחת .

אז כשראיתי שלא עובד החלטתי שמאשר לשבור את הראש אני אעשה עם GS קבצים חדשים ברזולוצייה המתאימה שאני רוצה ואז פשוט אציג אותם .

וככה כל מה שהוספתי זה שהGD לא יציג את התמונה אלא ישמור אותה .

ועכשיו זה עובד ככה מצויין .


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
FireAngel

דרג אמינות חבר זה
   22:57   20.03.07   
אל הפורום  
  17. מה בנוגע למחיקת התמונה המקורית לאחר ה-RESIZE?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   23:03   20.03.07   
אל הפורום  
  19. לא עשיתי את זה כי אני לא צריך  
בתגובה להודעה מספר 17
 
   אני רוצה שהתמונה המקורית תשמר כדי שיוכלו להוריד אותה ברזולוצייה
המקורית


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net