שלח תשובה

זירת השאלות

791
צפיות
39
תשובות

גובה ורוחב של תמונה…

,‏ 19 בפברואר, 2004

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

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

האם זה אפשרי ב ASP בלי רכיב תמונה מיוחד מותקן?
האם זה אפשרי ב JS?
מה עדיף?

המון תודה מהפפר

תגיות:

39 תשובות

  1. ניר טייב הגיב:

    ==> כנס
    ב-ASP אתה יכול להשתמש ברכיבי תמונה או לכתוב ASP ב-JS כי ב-JS יש לך אובייקט תמונה (מוזר שהוא לא מופיע במדריך JS)
    ב-JS אפשר לקבוע שמשתנה יהיה אובייקט תמונה כך :

    var imgPicture = new Image()

    ולאובייקט זה יש כמה שיטות ותכונות

    var imgPicture = new Image();
    imgPicture.width // רוחב
    imgPicture.height // גובה
    imgPicture.src // כתובת התמונה

    יש עוד שיטות ותכונות אתה מוזמן לחפש ב-MSDN

  2. mynameispepper הגיב:

    אז אתה אומר ש…
    אם אין לי רכיב תמונה ב ASP אני יכול לשכוח מזה נכון?

    הדוגמא ששמת פה ב JS זה בדיוק הדרך להוציא את הרוחב והגובה?
    לא צריך לציין את שם התמונה באיזה מקום?
    הערכים של מידות התמונה מתקבלים לפני שהתמונה עולה נכון?

    תודה

  3. ניר טייב הגיב:

    אני אומר
    שב-ASP או בצד הלקוח אתה יכול להשתמש ב-JS וברכיב התמונה שלו
    את השיטות/תכונות שנתתי לך אתה יכול לקבוע או שה-JS יקבע לפי פרטי התמונה
    את שם התמונה (כתובת התמונה) אתה צריך לציין בשיטה/תכונה src וה-אורך והגובה יהיו האורך והגובה של התמונה או האורך והגובה שאתה תקבע

    imgPicture.width = 200 + "px"

    מקווה שמובן…

  4. mynameispepper הגיב:

    לא עובד לי…
    משהו שם אני לא עושה, הקוד:


    <html>
    <head>

    <script language="JavaScript">
    function pici()
    {
    var imgPicture = new Image();
    imgPicture.width
    imgPicture.height

    shade.src
    alert('the image width is '+imgPicture);
    }
    </script>

    </head>

    <body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" Onload="pici()>

    <img border="0" src="shade.jpg">

    </body>
    </html>

    מה פיספסתי?

  5. ניר טייב הגיב:

    Pיספת…
    שני דברים
    1. היית יכול להגדיר בתגית התמונה שם ולאחר מכן להשתמש בשיטות והתכונות של אובייקט התמונה.

    2. אין קשר בין ה-imgPicture ל-shade.src ה-imgPicture היה בסה"כ דוגמא לאיך לקבוע משתנה שיהיה אובייקט תמונה אז הנה התיקון עם שני המקרים

    function pici()
    {
    var imgPicture = new Image();
    imgPicture.src = shade.src
    imgPicture.width
    imgPicture.height

    alert('the image width is '+imgPicture);
    }
    <img border="0" src="shade.jpg" name="shade">

    אם אתה צריך עוד עזרה רק בקש

  6. mynameispepper הגיב:

    הקוד הזה מסרב לעבוד אצלי:

    <html>
    <head>
    <title></title>

    <script language="JavaScript">
    function pici()
    {
    var imgPicture = new Image();
    imgPicture.src = shade.src
    imgPicture.width
    imgPicture.height

    alert('the image width is '+imgPicture);
    }
    </head>

    <body Onload="pici()>

    <img border="0" src="shade.jpg" name="shade">

    </body>
    </html>

    למה?

  7. ניר טייב הגיב:

    נסה אולי…
    כך :::

    <script language="JavaScript">
    function pici()
    {
    var imgPicture = new Image();
    var shade = document.getElementById("shade");
    imgPicture.src = shade.src
    imgPicture.width
    imgPicture.height

    alert('the image width is '+imgPicture);
    }
    </script>
    <img border="0" src="shade.jpg" id="shade">

  8. mynameispepper הגיב:

    אני לא מבין
    למה זה לא עובד לי.

    אני מקבל הודעת ALERT שאומרת:
    The image width is [object]

    זה עובד אצלך?
    אתה יכול להעלות את הדף?

  9. ניר טייב הגיב:

    יש שם שגיאה
    בהודעת ה-allert אתה צריך להכניס כך את הנתונים

    function pici()
    {
    var imgPicture = new Image();
    var shade = document.getElementById("shade");
    imgPicture.src = shade.src

    alert('the image width is '+imgPicture.width);
    }
    </script>
    <img border="0" src="shade.jpg" id="shade">


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

  10. mynameispepper הגיב:

    סבבה, ה ALERT עובד אבל תגיד לי…
    איך אני יכול לשרשר את הגובה של התמונה לתוך תג התמונה?

    המון תודה –
    פפר

  11. mynameispepper הגיב:

    או אולי אתה יכול להראות לי איך
    אפשר לשים את המשתנה של גובה התמונה ב JS בתוך משתנה ב ASP.
    אני מנסה אבל הסינטקס הורג אותי!

  12. ניר טייב הגיב:

    ASP
    זה פשוט מאוד אתה רק צריך להגדיר את שפת הכתיבה של ה-ASP כ-JS ואז אתה עושה כמו בצד הלקוח

    <%@ codepage=1255 language-"JavaScript" %>
    <%
    var imgPicture = new Image()
    imgPicture.src = "bla.jpg"
    imgHeight = imgPicture.height
    Response.Write(imgHeight)
    %>

    ובקשר לשאלה איך אני משרשר את גובה התמונה לתג התמונה … אז זה לא הקטע הקטע שתגדיר את הגובה של התמונה כך:

    imgPicture.height = 200 + "px"


    והכל יהיה ברמת ה-JS לא בתוך תגי ה-HTML
    ואפשר להשתמש בתכונה זאת לצורך השוואות וכדומה

  13. mynameispepper הגיב:

    וואללה ניר, אני לא מבין משהו…
    אני יכול בדף אחד להגדיר 2 סוגי שפת שרת?

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

    חשבתי על JS אבל אני לא מבין איך אני יכול לעשות את זה עדיין.

    רעיונות?

    תודה מהפפר

  14. mynameispepper הגיב:

    למה זה משמש?
    ראיתי שאנשים מוסיפים את התג הזה לתג ה FORM:

    encType="multipart/form-data"

    ככה למשל:

    <form name="details" method="post" action="tst.asp" onSubmit="return check(this);" encType="multipart/form-data"

    למה זה משמש?

  15. ניר טייב הגיב:

    שמע
    בין תוחמי ה-% (<%%>) אפשר להגדיר שפה אחת אבל אתה תמיד יכול להשתמש בתגית הסקריפט של HTML ופשוט שהיא תרוץ על השרת כך :

    <script language="JavaScript" runat="SERVER">
    ASP stateMent
    </script>

  16. ניר טייב הגיב:

    בעיקרון
    משתמשים בזה בדר"כ שיש טופס עם input מסוג file כך שיוכלו לעלות לשרת עם רכיב מסוים קובץ

  17. mynameispepper הגיב:

    תראה…
    זה הקוד שיש לי:


    <html>
    <head>
    <script language="JavaScript">
    function pici()
    {
    var imgPicture = new Image();
    var shade = document.getElementById("shade");
    imgPicture.src = shade.src

    imgWidth = imgPicture.width
    imgHeight = imgPicture.height

    dim dd = "<img width="" + imgWidth + "" src="shade.jpg">";
    }
    </script>
    </head>

    <body Onload="pici()">

    <script language="javascript">
    document.write dd
    </script>

    </body>
    </html>

    אתה יכול להגיד לי למה זה לא עובד לי?

  18. אוריקס הגיב:

    אחי אתה בבלבלה…
    אתה מערבב דברים…


    <html>
    <head>
    <script language="JavaScript">
    function pici()
    {
    var imgPicture = new Image();
    imgPicture.src = "x.gif" //what you want

    document.imgPicture.width = 150 //what you want
    document.imgPicture.height = 200 //what you want

    }
    </script>
    </head>

    <body Onload="pici()">

    <img name = "imgPicture" src = "y.gif">
    </body>
    </html>

  19. mynameispepper הגיב:

    🙂 אבל אוריקס…
    אני לא יודע מה הגובה והאורך של התמונה. אני רוצה לקבל את זה בג'אווה סקריפט ולכתוב את בתג ה IMG SRC של התמונה.

  20. ניר טייב הגיב:

    שמעו…
    אוריקס גם לך יש בלבלה (מצטער מאוד)
    ופפר בקוד שלך הגדרת את המשתנה dd באמצעות dim ולא ב-var
    דבר שני יש את השורה הבאה

    var shade = document.getElementById("shade");

    וע"פ הקוד שלך אין שום אלמנט שמשתמש ב-ID בשם shade

    עכשיו תגיד בבירור מה המטרה שלך !!!

  21. jonatan44 הגיב:

    אז אומר
    לשרת לא רק לעביר את שם הקובץ אלא את הקובץ עצמו.

  22. אוריקס הגיב:

    צודק צ'פלו
    כי אני עד עכשיו לא ממש מבין מה הוא רוצה לעשות

  23. mynameispepper הגיב:

    מה אני רוצה לעשות…
    יש לי דף אחד שמחליף תמונות בתוך עצמו והתמונות נקראות מבסיס נתונים.
    מה שאני רוצה זה פשוט לדעת מה הגובה והאורך של התמונה לפני שהיא עולה למסך וזאת כדי שאני אוכל לשרשר את הגובה והאורך של התמונה לתוך תגי ה IMG SRC שלה.

    מובן?

  24. ניר טייב הגיב:

    בעצם.?
    אתה רוצה לשרשר לתוך תג התמונה

  25. ניר טייב הגיב:

    טעות והנה המשך…
    אם אתה רוצה לשרשר לתוג תג התמונה את הגובה והרוחב המקוריים למה להסתבך תקרא לה רגיל

    <img src="logo.jpg" name="logo" />

  26. mynameispepper הגיב:

    בוקר טוב ניר…
    אני ממש אודה לך אם תוכל לקחת את הקוד שרשמתי ולהוסיף או לתקן את החלק שלך בו.
    אני מסבך משהו בקוד שלי ואני לא מבין מה. קשה לי מאוד ללמוד ככה.

    יש מצב?

    תודה –
    פפר

  27. אוריקס הגיב:

    למה? היא בכל מקרה תעלה עם הגודל
    המקורי…

  28. אוריקס הגיב:

    וחוץ מזה –
    יש לך טעות בהבנה של האובייקט. כל הקטע זה שעכשיו אתה לא צריך ל שחק עם הגובה והרוחב בתוך ה <IMG אלא בתוך האובייקט.

  29. mynameispepper הגיב:

    עד כמה שידוע לי…
    תמונה עולה יותר מהר כאשר מוגדרים לה הגובה והאורך.

  30. mynameispepper הגיב:

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

    תודה

  31. ניר טייב הגיב:

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

  32. mynameispepper הגיב:

    שאלה לגבי בסיס נתונים
    יש לי בסיס נתונים המכיל שם, גיל, צבע ואזור בארץ.
    בבסיס הנתונים כבר קיימות רשומות, כ 200 כאלו.

    כשהמשתמש בוחר את הצבע הוא בעצם בוחר את הצבע מתיבת סלקט שאומרת

    <input type="color" value="אדום">

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

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

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

    המון תודה מהפפר

  33. ניר טייב הגיב:

    טוב…
    למיטב ידיעתי אין Input כזה אבל למה לעשות כך תן למשתמש שלך כפתורי checkbox כך תוכל להגביל אותו בצבעים או לעשות select בשביל אותו עיקרון עכשיו את ה-value תכניס כמס' וכך תוכל לשלוט בזה

    לדעתי עדיף לך להשתמש ב-cookies (בטוח ששמת לפחות קוקי אחד בכל האתר). כי בכל מקרה למה לשנות צבעים זה רק יוצר בעיות.

  34. mynameispepper הגיב:

    התכוונתי…

    <option name="color" value="אדום">אדום</option>

    הצבעים הם רק בבסיס הנתונים. אני לא רוצה להחליף את הצבעים של האתר.

  35. mynameispepper הגיב:

    למה הבדיקה הזו לא עובדת לי?
    אני מנסה לבדוק אימייל אבל זה לא עובד:

    if (/^w+([.]?w+)*@w+([.-]?w+)*(.w{2,3})$/.test(document.details.email.value))
    {
    window.alert(’email');
    document.details.email.focus();
    return false;
    }

    תודה

  36. mynameispepper הגיב:

    הנה התשובה
    הסקריפט הזה "מגלה" את גודל התמונה ומגדיר אותה בג'אווה סקריפט.


    <html>
    <head>
    <script type="text/javascript">
    onload = function()
    {
    with(document.images['dimg'])
    {
    height = height;
    width = width;
    }
    }
    </script>
    </head>

    <body>

    <img src="shade.jpg" id="dimg">

    </body>
    </html>

    תודה על העזרה –
    פפר

שלח תשובה