הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 28-05-12, 16:21   # 1
DoLet
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2011
הודעות: 301

DoLet לא מחובר  

עזרה // imagettftext RTL

שלום לכולם,
אני יוצר לעצמי סוג של watermark ב-PHP
אני משתמש ב - imagettftext.
אבל יש לי בעיה של RTL מה הכוונה את הטקסט רואים כמו שצריך (UTF8) בעזרת iconv.
אבל עדיין הוא לא ב- RTL.

דוגמא:



אשמח לעזרה .

תודה מראש.
  Reply With Quote
ישן 28-05-12, 16:44   # 2
Itay
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 564

Itay לא מחובר  

אתה מתכוון מיושר לימין?
תבדוק מה האורך של השורה הארוכה/הנקודה שממנה אתה רוצה להתחיל את הטקסט, תוריד מזה את הרוחב של הטקסט בשורה ותתחיל מהנקודה הזאת בצד שמאל את הטקסט
  Reply With Quote
ישן 28-05-12, 16:45   # 3
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

מה אמור להיות הטקסט המקורי בתמונה?
אתה יכול לפשוט לעשות EXPLODE ואז לסדר מהסוף להתחלה את המערך עם array_reverse ..
  Reply With Quote
ישן 28-05-12, 16:47   # 4
DoLet
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2011
הודעות: 301

DoLet לא מחובר  

ציטוט:
נכתב במקור על ידי HHaim צפה בהודעה
מה אמור להיות הטקסט המקורי בתמונה?
אתה יכול לפשוט לעשות EXPLODE ואז לסדר מהסוף להתחלה את המערך עם array_reverse ..
הוסט צריך להיות בצד ימין ולא בסוף צד שמאל.
  Reply With Quote
ישן 28-05-12, 17:30   # 5
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

תקרא על imagettfbbox ואת שאר החישובים אני משאיר לך...
  Reply With Quote
ישן 28-05-12, 18:21   # 6
DoLet
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2011
הודעות: 301

DoLet לא מחובר  

ציטוט:
נכתב במקור על ידי meshuga צפה בהודעה
תקרא על imagettfbbox ואת שאר החישובים אני משאיר לך...
זה עוזר ולא עוזר.
הוא נותן לי אפשרות לעשות מיקום פר שורה.
הוא עדיין לא פותר לי את הבעיה של הRTL.

אני אנסה להסביר לך מקווה שתבין:

שאני רושם לדוגמא 2 מילים בRTL כמו בפורום זה ירשום בצורה רגילה:

-------------------שלום עולם.
במידה ולא RTL כמו שצריך זה היה מושך את הטקסט שמאלה לדוגמא אני מוסיף עוד מילה:
--------------שלום עולם יקר.
במקום:
-------------------שלום עולם יקר.

נכון שimagettfbbox נותן לי למקם פר שורה אבל זה הופך את זה לפחות דינמי.
אני מנסה לחשוב האם יש דרך לגרום לטקסט להיות בRTL.

חח מקווה שהצלחת להבין משהו
  Reply With Quote
ישן 28-05-12, 18:40   # 7
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי DoLet צפה בהודעה
זה עוזר ולא עוזר.
הוא נותן לי אפשרות לעשות מיקום פר שורה.
הוא עדיין לא פותר לי את הבעיה של הRTL.

אני אנסה להסביר לך מקווה שתבין:

שאני רושם לדוגמא 2 מילים בRTL כמו בפורום זה ירשום בצורה רגילה:

-------------------שלום עולם.
במידה ולא RTL כמו שצריך זה היה מושך את הטקסט שמאלה לדוגמא אני מוסיף עוד מילה:
--------------שלום עולם יקר.
במקום:
-------------------שלום עולם יקר.

נכון שimagettfbbox נותן לי למקם פר שורה אבל זה הופך את זה לפחות דינמי.
אני מנסה לחשוב האם יש דרך לגרום לטקסט להיות בRTL.

חח מקווה שהצלחת להבין משהו
אני יתן לך דוגמא...למה שאני מתכוון....הפונקציה שהבאתי נותנת לך את הגודל של ה"קופסא" (אם תרצה לקרוא לזה ככה) של השורה שאתה כותב.
קח מכל השורות את השורה הכי ארוכה (זה הרוחב הבסיסי שלך)..
אח"כ לפי המיקום הימני קיצוני שלה, תמקם את כל הקצוות הקיצוניים ימניים לפי זה (יש לך הרי את הרוחב של כל שורה).
מקווה שהבנת...
  Reply With Quote
ישן 01-06-12, 14:09   # 8
Erez | TrustMedia.co.il
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,854

Erez | TrustMedia.co.il לא מחובר  

לא מזמן הייתי גם צריך לעשות משהו דומה, אז קח את הקוד שהשתמשתי בו, זה על אותו עיקרון שאיתי הציע, אתה בודק את הרוחב של הטקסט ואז מוריד אותו מהמיקום שאתה רוצה שהטקסט יופיע בו.
PHP קוד:
function hebrew($text){
    
preg_match_all('/./us'$text$ar);
    
$newtext implode('',array_reverse($ar[0]));
    
preg_match_all('/([a-zA-Z0-9 \)\(\.,]+)/',$text,$match);
    foreach(
$match[0] as $v){
        
$newtext str_replace(strrev($v),$v,$newtext);
    }
    return 
$newtext;
}

$text="טקסט ארוך טקסט ארוך טקסט ארוך טקסט ארוך טקסט ארוך טקסט ארוך טקסט ארוך טקסט ארוך";
$size 12;
$x 260;
$y 30;
$maxwidth 55;
$arSize imagettfbbox($size,0,$font,hebrew($text));
$iWidth abs($arSize[2] - $arSize[0]);
$iHeight abs($arSize[7] - $arSize[1]);

imagettftext($im,$size,0,$x-$iWidth,$y,$color,$font,hebrew($text)); 
הפונקציה hebrew לוקחת את הטקסט והופכת את הכל אבל הופכת בחזרה מילים באנגלית ומספרים, היא לא מושלמת אבל עדיפה על הפיכה רגילה שהופכת לך גם דברים שלא צריך.

(אני משתמש בקוד פה: http://norris.jokey.co.il/quotes.png)
__________________
  Reply With Quote
ישן 02-06-12, 17:25   # 9
DoLet
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2011
הודעות: 301

DoLet לא מחובר  

Erez תודה רבה על העזרה
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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