הצגת תגיות

drvvv

משתמש פעיל
D I G I T A L
אני צריך לעשות הצגת תגיות בצורה מלאה עם גדלים שונים (ואולי אפילו צבעים).

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

Shia

משתמש מקצוען
מנוי פרימיום
בוגר/תלמיד פרוג
D I G I T A L
נכתב ע"י drvvv;379859:
אני צריך לעשות הצגת תגיות בצורה מלאה עם גדלים שונים (ואולי אפילו צבעים).

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

אם אתה יודע php אולי תוכן להנדס את זה לאחור מהקוד של wordpress, שם זה מובנה במערכת... :)
 

drvvv

משתמש פעיל
D I G I T A L
אם הייתי רואה את הקוד הספציפי אולי הייתי יכול להבין אותו, אבל זה בטח מורכב שם מדי...
 

drvvv

משתמש פעיל
D I G I T A L
למרבה הצער אני לא מתכנת בphp אלא ב-c# אבל לקחתי את הרעיון הכללי:
התוצאה (בינתיים) למי שמתעניין:

PHP:
 public static int GetTagsSize(int idTag, int minSize, double maxSize)
        {
            using (var db = new DataTheDosDataContext())
            {
                double returnSize = minSize;

                var cTags = db.Tags.Where(x => x.ID == idTag).SingleOrDefault();
                if (cTags != null)
                {
                    double SizeAvrage = (maxSize + minSize) / 2;

                    int tagClicks = cTags.Clicks;
                    int maxClicks = db.Tags.Max(x => x.Clicks);

                    double weightPercent = (100 / maxClicks * tagClicks);

                    if (weightPercent >= 90)
                    {
                        returnSize = maxSize;
                    }
                    else if (weightPercent >= 70)
                    {
                        returnSize = (maxSize + SizeAvrage) / 2;
                    }
                    else if (weightPercent >= 50)
                    {
                        returnSize = SizeAvrage;
                    }
                    else if (weightPercent >= 30)
                    {
                        returnSize = (minSize + SizeAvrage) / 2;
                    }
                    else
                    {
                        returnSize = minSize;
                    }

                }
                return (int)returnSize;
            }
        }

אם תשימו לב שדרגתי את ההצעות ועשיתי אפשרות להגדרת גודל מקסימום וגודל מינימום (לגודל הכתב), כך שניתן דרך הקוד אפילו להגדיר את הגדלים של כל קישור (ולא צריך לעשות 5 מחלקות שונות ב-css)
 

danielkatz

משתמש צעיר
D I G I T A L
התבקשתי להציג פתרון מתמטי קצרצר לבעיה, אז בבקשה:

  • score - הוא ערך "הניקוד" של התגית
  • minScore – הוא הערך של הניקוד הקטן ביותר שקיים
  • maxScore - הוא הערך של הניקוד הגבוה ביותר שקיים
  • minSize – הוא הערך של הפונט הקטן ביותר שתרצה להציג (הוא יוצב לתגית בעלת הניקוד הנמוך ביותר)
  • maxSize - הוא הערך של הפונט הגדול ביותר שתרצה להציג (הוא יוצב לתגית בעלת הניקוד הגבוה ביותר)
קוד:
public static double CalculateTagSize(double score, double minScore, double maxScore, double minSize, double maxSize)
{
    if (!(minScore < maxScore))
        throw new ArgumentOutOfRangeException("minScore must be smaller than maxScore.");
    if (!(minSize < maxSize))
        throw new ArgumentOutOfRangeException("minSize must be smaller than maxSize.");
    if (score < minScore || score > maxScore)
        throw new ArgumentOutOfRangeException("score must be greater than minScore and smaller than maxScore.");

    return minSize + ((maxSize - minSize) * (score - minScore)) / (maxScore - minScore);
}
את המאמר המלא כולל קוד עבור C# 4.0 ניתן למצוא בבלוג שלי: חישוב גודל התגיות ב"ענן תגיות"
 

drvvv

משתמש פעיל
D I G I T A L
דני תודה!
מזל שאתה יודע מתמטיקה ברמה מקצועית :)
 

אולי מעניין אותך גם...

הפרק היומי

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


תהילים פרק קיט ר'

קנג רְאֵה עָנְיִי וְחַלְּצֵנִי כִּי תוֹרָתְךָ לֹא שָׁכָחְתִּי:קנד רִיבָה רִיבִי וּגְאָלֵנִי לְאִמְרָתְךָ חַיֵּנִי:קנה רָחוֹק מֵרְשָׁעִים יְשׁוּעָה כִּי חֻקֶּיךָ לֹא דָרָשׁוּ:קנו רַחֲמֶיךָ רַבִּים יְהוָה כְּמִשְׁפָּטֶיךָ חַיֵּנִי:קנז רַבִּים רֹדְפַי וְצָרָי מֵעֵדְוֹתֶיךָ לֹא נָטִיתִי:קנח רָאִיתִי בֹגְדִים וָאֶתְקוֹטָטָה אֲשֶׁר אִמְרָתְךָ לֹא שָׁמָרוּ:קנט רְאֵה כִּי פִקּוּדֶיךָ אָהָבְתִּי יְהוָה כְּחַסְדְּךָ חַיֵּנִי:קס רֹאשׁ דְּבָרְךָ אֱמֶת וּלְעוֹלָם כָּל מִשְׁפַּט צִדְקֶךָ:
נקרא  8  פעמים

לוח מודעות

למעלה