הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   php | gd | strings (https://hosts.co.il/forums/showthread.php?t=61415)

Labs 30-03-08 14:05

php | gd | strings
 
בניתי תמונה
שמגרילה משפט
וכותבת אותו על תמונה (חתימה)

אז בכדי לשים משפטים ארוכים יותר בניתי משהו שיחתוך לי מחרוזת אבל לא באמצע מילה וידפיס אותה מתחת וכמו שאולי הבנתם כבר זה לא עובד לי
התוכנית במלואה:
PHP קוד:

<?php 
header
("Content-type: image/png");
$img imagecreate(470,70);
$Hcolor imagecolorallocate($img247247247); 
$bcolor imagecolorallocate($img000); 
$tfont "david.ttf";
imagerectangle($img0047070$Hcolor);
$input = array(
"Guns don't kill people. Chuck Norris kills People."
"There is no theory of evolution. Just a list of animals Chuck Norris allows to live. ",
 
"Chuck Norris does not sleep. He waits.",
 
"The chief export of Chuck Norris is Pain. ",
 
"There is no chin under Chuck Norris' Beard. There is only another fist. ",
 
"Chuck Norris has two speeds. Walk, and Kill. ",
 
"The leading causes of death in the United States are: 1. Heart Disease 2. Chuck Norris 3. Cancer.",
 
"Chuck Norris drives an ice cream truck covered in human skulls.",
 
"When the Boogeyman goes to sleep every night, he checks his closet for Chuck Norris.",
 
"Outer space exists because it's afraid to be on the same planet with Chuck Norris.",
 
"Chuck Norris is suing Myspace for taking the name of what he calls everything around you."
);
$kearray_rand($input1);
$stf=$input[$ke];
$slen=strlen($stf);
if (
$slen<70) {
    
imagettftext $img120215$bcolor$tfont$stf );
} else {
// ראו חלק זה VVV
    
$words explode(" "$stf);
    
$numw=count($words); // מספר מילים
    
$b=0;
    for (
$i=0;$i<=$numw;$i++) {
        
$len=0;
        while (
$len<70) {
            
$arr[$b]=$arr[$b].$words[$i]." ";
            
$len=strlen($arr[$b]);
            
$i++;
        }
        
$b++;
    }
// problem here ^^^^
    
for ($i=1;$i<=$b;$i++) {
        
$hi=15*$i;
        
$ia=$i-1;
        
$te=$arr[$ia];
        
imagettftext $img1202$hi$bcolor$tfont$te );
    }
}
imagepng($img); 
imagedestroy($img);
?>

אנא עזרו לי לפני שאני נשאר ללא שיערות

FuZuL 30-03-08 17:02

משהו לא מובן לי..
אני רואה בחתימה שלך:
There is no theory of evolution. Just a list of animals Chuck Norris allows
live.
הlive בשורה מתחת..
אז הצלחת או שלא הבנתי את השאלה?

Labs 30-03-08 21:11

ציטוט:

נכתב במקור על ידי FuZuL (פרסם 619816)
משהו לא מובן לי..
אני רואה בחתימה שלך:
There is no theory of evolution. Just a list of animals Chuck Norris allows
live.
הlive בשורה מתחת..
אז הצלחת או שלא הבנתי את השאלה?

תרענן כמה פעמים
לפני שעשיתי את כל הסמתוחה הזאת זה פשוט חתחך לי באמצע שורה
עכשיו זה בולע לי מילים
allows TO live

omercnet 30-03-08 22:08

מי היה מאמין שיש פונקציה שעושה בידיוק מה שאתה צריך? (גאונים הZEND האלה...)
www.php.net/wordwrap


אני יודע שקשה להריח את הציניות בטקסט שלי, אבל היא שם איפשהוא :)

Labs 31-03-08 17:37

ציטוט:

נכתב במקור על ידי omercnet (פרסם 619942)
מי היה מאמין שיש פונקציה שעושה בידיוק מה שאתה צריך? (גאונים הZEND האלה...)
www.php.net/wordwrap


אני יודע שקשה להריח את הציניות בטקסט שלי, אבל היא שם איפשהוא :)

ידעתי שיש פונ' רק לא יודע איך קוראים לה ניסתי לעושת חיפושים בגוגול לא ממש עזר
גם PHP.NET לא עוזר שלא יודעים את שהם של הפונ'
עזרתה לי רצח!
דרך אגב השדה של הרוחב זה....?
בדקתי וזה לא פיקסלים

meshuga 31-03-08 19:44

אחח..הצעירות...חח..גם אני הכנתי סקריפט כזה פעם...(גם..עובדות על צ'אק נוריס...בהחלט דבר מצחיק)
אבל הסקריפט שלי היה קצת יותר משוכלל..אצלי אתה קובע רוחב מקסימלי לתמונה וגודל פונט שאתה רוצה ואחרי הבחירה, הוא חותך את השורות לפי הרוחב...
בכ"ז...ח"ח על היוזמה..

אגב, מאיפה העובדות?...
אני לקחתי מ4Q.CC..אתר שלפי איך שנראה עכשיו, עם בעיות ואולי נסגר..

עריכה:
אם אתה מחפש פונקציה שתיתן לך אורך בפיקסלים (לא חותכת)..ויש לך FREE TYPE (ואני מניח שכן...לפי זה שהפונט נראה טוב)...
הפונקציה היא: imagettfbbox
אחרי שיש לך את הנתון הזה...אתה תצטרך קצת להפעיל את הראש בשביל לחתוך ;)....(רמז: לולאות;))

Daniel 01-04-08 09:30

ציטוט:

נכתב במקור על ידי FartBoy (פרסם 620104)
ידעתי שיש פונ' רק לא יודע איך קוראים לה ניסתי לעושת חיפושים בגוגול לא ממש עזר
גם PHP.NET לא עוזר שלא יודעים את שהם של הפונ'
עזרתה לי רצח!
דרך אגב השדה של הרוחב זה....?
בדקתי וזה לא פיקסלים

אני כתבתי לך אותה בנושא הקודם -_-

בכל מקרה, כן, זה כנראה הדבר הכי טוב, רק לא לשכוח שגודל התמונה יהיה מספר השורות כפול גובה הטקסט פלוס מספר כלשהו - שזה לא יהיה דחוס מידי

Labs 02-04-08 09:35

ציטוט:

נכתב במקור על ידי meshuga (פרסם 620142)
אחח..הצעירות...חח..גם אני הכנתי סקריפט כזה פעם...(גם..עובדות על צ'אק נוריס...בהחלט דבר מצחיק)
אבל הסקריפט שלי היה קצת יותר משוכלל..אצלי אתה קובע רוחב מקסימלי לתמונה וגודל פונט שאתה רוצה ואחרי הבחירה, הוא חותך את השורות לפי הרוחב...
בכ"ז...ח"ח על היוזמה..

אגב, מאיפה העובדות?...
אני לקחתי מ4Q.CC..אתר שלפי איך שנראה עכשיו, עם בעיות ואולי נסגר..

עריכה:
אם אתה מחפש פונקציה שתיתן לך אורך בפיקסלים (לא חותכת)..ויש לך FREE TYPE (ואני מניח שכן...לפי זה שהפונט נראה טוב)...
הפונקציה היא: imagettfbbox
אחרי שיש לך את הנתון הזה...אתה תצטרך קצת להפעיל את הראש בשביל לחתוך ;)....(רמז: לולאות;))

chuknorrisfacts.com

וישבתי על זה קצת אתמול וסידרתי את זה :)
תוצאה בחתימה


כל הזמנים הם GMT +2. הזמן כעת הוא 09:43.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ