PracticU

פרויקט מעשי ב-#C - תוכנת צייר - חלק 3

בלי כתוביותעם כתוביות
PracticU › פרויקט מעשי ב-#C - תוכנת צייר › פרויקט מעשי ב-#C - תוכנת צייר - חלק 3
מילון מושגים:
מאפיין - תכונה שמצמידים לרכיב ומתארת אותו או את התנהגותו, למשל מאפיין של תגית HTML או שדה באובייקט.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.

פרויקט מעשי ב-#C - תוכנת צייר - חלק 3
בשיעור הזה מחשבים את הקואורדינטות לציור לפי גודל המסך, במקום להעתיק מספרים שנמדדו בעין. המטרה היא לצייר X בצד השמאלי העליון של המסך וסימן + בצד הימני העליון.
השלבים העיקריים
1. גודל המסך: במאפיין Screen מתקבל רוחב של 1024 וגובה של 768 פיקסלים. הפונקציה DrawLine מקבלת את הקואורדינטות בפיקסלים.
2. הראשית בפינה: נקודת 0,0 נמצאת בפינה השמאלית העליונה של החלון, לא של המסך, ולכן יש הפרש קטן בגלל שורת הכותרת.
3. חישוב המרכז: מחלקים את הרוחב והגובה בשניים. המרכז הוא 512 לרוחב ו-384 לגובה.
4. ציור X: מציירים שני קווים באלכסון לפי נקודות שמחושבות מהמרכז ומהקצוות.
5. ציור +: הסימן מחולק לקו אופקי וקו אנכי בתוך הרבעון הימני העליון, לפי נקודות שמחושבות באותו אופן.
6. הסתרת הכותרת: מאפיין FormBorderStyle מוגדר ל-None, והחלון מוגדל למסך מלא בעזרת WindowState = Maximized.
טעויות נפוצות
- החישוב של הקו האופקי הראה הפרש של כמה פיקסלים, והתברר שאחד החישובים היה שגוי. התיקון נעשה לפי חישוב מחדש מהמרכז ולא לפי הערכה.
- ציר ה-X גדל ימינה וציר ה-Y גדל למטה. מי ששכח את זה מקבל את הסימון הפוך.
- כשהטופס נטול גבולות, אי אפשר להזיז אותו בעכבר. בדוגמה פתרון זמני הוא תפריט המערכת (Alt+Space).
בסיום השיעור התלמיד יודע לחשב קואורדינטות לפי גודל המסך ולצייר צורה מדויקת בתוך רבעון.
השיעור הבא בקורס: פרויקט מעשי ב-#C - תוכנת צייר - חלק 4

פרקי ההרצאה: פרויקט מעשי ב-#C - תוכנת צייר - חלק 3

  1. 00:00

    חישוב קואורדינטות מדויק לפי גודל המסך

  2. 00:46

    חלוקת המסך לרבעונים

  3. 02:11

    הנקודה 0,0 בפינת החלון

  4. 03:53

    רישום המידות על הקו

  5. 05:58

    חצי רוחב וחצי גובה המסך

  6. 07:39

    פרויקט תרגול חדש וציור מ-0,0

  7. 10:23

    הסתרת גבול החלון בשינוי FormBorderStyle

  8. 12:08

    הגדלה מלאה בתחילת הריצה

תמלול ההרצאה: פרויקט מעשי ב-#C - תוכנת צייר - חלק 3

הטקסט המלא של הדקות הראשונות בהרצאה «פרויקט מעשי ב-#C - תוכנת צייר - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:04

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

  2. 00:34

    זאת אומרת, בואו נמחק את זה, בהינתן שיש לי מסך בגודל מסוים, ותכף נראה את הרוחב ואת האורך של המסך שלנו, אבל בהינתן שהמסך שלנו הוא בגודל מסוים, בואו ננסה לעשות חישוב כך שה-X יהיה ברבעון השמאלי העליון של המסך, וה-Plus יהיה בתוך הרבעון הימני העליון של המסך.

  3. 01:05

    אז אם אני רוצה לדעת מה הגודל של המסך שלי, אז יש לי פה עכבר ימני, פרופרטיז, סטינגס, פה אומר לי שכרגע אנחנו 1024 על 768 פיקסלים פיקסלים אלה היחידות שבהן אנחנו מציירים כן, הפונקציה draw line מקבלת את הקואורדינטות בפיקסלים לא בסנטרימטרים, לא באינצ'ים, בפיקסלים

  4. 01:37

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

  5. 02:13

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

  6. 02:42

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

  7. 03:34

    וראש חץ פה וראש כאן וראש חץ פה וראש חץ כאן עכשיו את זה אני רוצה לרשום לאורך אבל אני לא יודע על כזה פיצ'ר כזו יכולת של pain brush לצייר לאורך פה אני צריך לרשום פה 768 בואו נשמור את זה על הדסקטופ נקרא לזה אחד יפה אז אלה הקואורדינטות של המסך שלי עכשיו אם אני אחלק את המסך שלי פה באמצע אז בוא נביא את ה-1024 הזה שלא מזיק לו

  8. 04:23

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

  9. 05:10

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

  10. 06:08

    ומהנדסים כשהם רוצים להגיד שזה 512 הם לוקחים קו נטוי וחותכים פה וחותכים כאן, מספיק לחתוך לא חייבים לעשות ראש חטא, זה אומר שזה 512 ואילו זה זה 768 חלקי 2 אז זה 350 384 זאת אומרת שזה 384 אז גם פה נרשום 384 384 יפה מאוד גם פה נעשה קו חותך אז איפה אנחנו רוצים את

  11. 06:58

    הx שלנו בואו אולי ניקח קו אדום אנחנו רוצים את הx בערך כאן מה זה אומר בערך כאן בוא נגיד שאני לא רוצה למתוח קו ממש מ-0,0 עד ל-512,384, אני יכול אבל זה יהיה ממש למתוח את זה מהקצה אל הקצה ומ-0,512 עד ל-384, אתם יודעים מה?

  12. 07:33

    בואו דווקא כן נמתח קווים מהנקודה הזו עד לנקודה הזו ומהנקודה הזו עד לנקודה הזו זה גם תהיה תרגולת טובה אז בואו נריץ visual studio, create project, c-sharp, windows, windows applications, על הדסקופ זה יקרא Geometricalizations Sample ונגיד לו אוקיי,

  13. 08:13

    נחכה שהוא יירגע, כשאני אומר שאני מחכה שהוא יירגע זה אומר שאני מחכה שה-CPU יצנח למספר נמוך, ארבע זה מספר חזיר, יפה, בואו שוב, בואו נצייר אני רוצה למתוח קו מ-0,0 עד לנקודה הזו מבחינת ה-X זה ציר ה-X, ימינה ושמאלה זה ציר ה-X, 512

  14. 08:45

    מבחינת ה-Y זה ציר ה-Y, 384 אז מ-0,0 ל-512, 384 אז ניגש לאירועים של הטופס, ניגש ל-MouseDone ו-graphics-g שווה ל-create-graphics-g.draw-line-pens-blue 0,0 ה-x2 הוא 512 וה-y2 הוא 384 יפה בואו ננסה להריץ את זה וקליק

  15. 09:43

    בואו נגדיל את זה למקסימום ושוב קליק יפה, מ-0,0 זה נראה בסדר, שוב החישוב שלנו לקח בחשבון שאנחנו בעצם מציירים מ-0,0 של המסך אבל אנחנו נתקענו עם הכותרת העליונה, דרך אגב אפשר להסתיר את הכותרת העליונה, בואו ננסה להסתיר את הכותרת העליונה של הטופס, נלך ל-properties וב-f זה h, קיפה למעלה,

  16. 10:24

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

  17. 10:53

    התפריט, זה נקרא הסיסטם מניו, תפריט המערכת אם אני עושה פה עכבר ימני זה תפריט המערכת אם אני לוחץ פה זה תפריט המערכת או אם אני עושה Alt רווח אז גם קופץ תפריט המערכת תפריט המערכת מאפשר לי לבחור את move אם טופס הוא לא מקסימייז ואני עושה פה קליק אז יש לי אפשרות לעשות move ואז אני יכול עם החיצים

  18. 11:21

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

  19. 11:45

    בואו נראה אם נסגור אותו אפשר אלטף ארבע או לפחות נסגור אותו עם אלטף ארבע אפשר. אלטף ארבע תוגר חלונות אז אני רוצה שהוא יתפרץ על כל המסך מיד בתחילת הריצה אז בואו נראה, או Windows State Determines the Initial Visual State of the Form כרגע הוא Normal, אני אבחר פה Maximize כך שכשהוא מתחיל לרוץ הוא מיד מתפרס על כל המסך

  20. 12:18

    הרד, מצוין, קליק, עכשיו יש לנו ממש אפליקציה גרפית יפה, אז ציירנו מ-0,0 עד למרכז הנסך הדבר הבא זה לצייר מהנקודה הזו עד לנקודה הזו בואו נסגור את זה, Alt F4, מצוין בואו נחזור לחישובים שלנו אז אנחנו רוצים לצייר מהנקודה הזו מבחינת ה-eak מדובר פה על 512

  21. 12:49

    ופה מראה לי זה 512 מבחינת ה-y מדובר פה על 0 אז זה 512-0 אז מ-512-0, תכף נראה מה זה כאן אז בואו נגיד לו מ-512-0 ניגש לקוד נשכפל את השורה הזו, אני רוצה לכתוב מחדש g.drawline.pens.blue x הוא 512 ה-y הוא 0 בואו רק נגיד לו overload מספר 4 אז x1 הוא 512 y1 הוא 0 יפה מה לגבי x2 הנקודה השנייה

  22. 13:42

    בנקודה השנייה זו הנקודה השנייה x הפעם הוא 0 נכון ה-x לא זז x ימינה, אמרנו שהx זה הציר הימני, אולי נסמן את זה איכשהו, בואו נגיד לכם כאן אני אכתוב x גדול ואני אוסיף זה הכיוון זה x, יותר נכון x הוא גם ימינה וגם שמאלה, זה כיוון של x לעומת y זה y,

לקורס המלא: פרויקט מעשי ב‑#C אונליין

ההרצאה הקודמת: פרויקט מעשי ב-#C - תוכנת צייר - חלק 2

ההרצאה הבאה: פרויקט מעשי ב-#C - תוכנת צייר - חלק 4

הרצאות קשורות מקורסים אחרים

  • תרגיל 24 - תוכנת צ'אט - חלק 1
  • פרויקט מעשי ב-#C - ספר טלפונים - חלק 1
  • תרגיל מעשי Delegate Event
  • שדרוג צייר שלנו על canvas

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס תכנות מתקדם - #Advanced .NET C
  • קורס WCF - תקשורת למתקדמים בדוט-נט