ABA


"צריך עזרה בהצגת תמונת BMP ב-Turbo C..."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #6764 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 6764
Dudenland

   18:17   14.08.03   
אל הפורום  
  צריך עזרה בהצגת תמונת BMP ב-Turbo C...  
 
   ערכתי לאחרונה בתאריך 14.08.03 בשעה 18:19 בברכה, Dudenland
 
התכנית שכתבתי פחות או יותר עובדת, אבל כשמוצגת התמונה, היא מוצגת בצבעים אחרים מן המקור...
אני לא מצליח להבין מה הבעייה, מכיוון שאני מעלה גם את כל הצבעים ששמורים בקובץ ל-Driver... אולי הבעיה טמונה במצב הגרפי... מישהו יכול לעזור ?

(אגב, http://rotter.net/User_files/nor/3f3ba7d6526f5689.txt)

Dudenland


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  הבעיה אכן במצב הגרפי liranr 14.08.03 18:33 1
  אם תכתוב בעצמך dryice 14.08.03 18:53 3
  OK... ככה חשבתי... Dudenland 14.08.03 21:23 4
  טוב... נתקלתי בבעייה חדשה: איך מעלים Palette? Dudenland 14.08.03 23:46 5
     אתה צריך גם להגדיר כמות HEAP אנילאאנוכי 15.08.03 02:11 6
     אם תחפש בגוגל על SVGA תמצא המון אנילאאנוכי 15.08.03 02:13 7
     אז ככה liranr 15.08.03 09:22 8
         בקשר לשאלה הראשונה: Dudenland 15.08.03 16:07 11
     מידע על VESA dryice 15.08.03 11:45 9
  טוב... תודה לכולם... Dudenland 15.08.03 14:27 10

       
liranr

   18:33   14.08.03   
אל הפורום  
  1. הבעיה אכן במצב הגרפי  
בתגובה להודעה מספר 0
 
   הפונקציות הגרפיות המובנות של turbo c הן ב- mode 12h, כלומר
640x480x16, לכן זו תהיה קצת בעיה להציג תמונות ב 256 צבעים...

כיוון שכל מה שאתה צריך זה פונקציות לכניסה ויציאה מהמצב הגרפי ושתילת
פיקסל, אפשר להכין משהו קטנטן (20 שורות להכל ביחד) שיעבוד ב mode 13h
קח בחשבון אבל שהרזולוציה היא 320x200, שהיא מאוד מאוד נמוכה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   18:53   14.08.03   
אל הפורום  
  3. אם תכתוב בעצמך  
בתגובה להודעה מספר 0
 
   השליטה על הpallete יכולה להתבצע בקלות ע"י כתיבה
לפורט 0x388 ו 0x389 למעשה זה בצורה תחבירית דומה, index
ואז ערכי rgb אחד אחרי השני.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

   21:23   14.08.03   
אל הפורום  
  4. OK... ככה חשבתי...  
בתגובה להודעה מספר 0
 
   אני כבר אבנה לי משהו לבד... בטח עם קצת אסמבלי...

Dudenland


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

   23:46   14.08.03   
אל הפורום  
  5. טוב... נתקלתי בבעייה חדשה: איך מעלים Palette?  
בתגובה להודעה מספר 0
 
   הצלחתי ליצור בעצמי את המצב הגרפי 13h, והתעוררו 2 בעיות עיקריות:
1. אני עושה זאת תוך שימוש בחוצץ-זיכרון שאליו אני מכניס נתונים, ואז מעדכן את זיכרון המסך, ע"י העתקה פשוטה של החוצץ. הבעיה היא שבבדיקה האם החוצץ נוצר (ע"י הפונקציה farmalloc), כאשר אני מפעיל את התכנית ישר מן ה-Borland C, מתקבל כי החוצץ לא נוצר (כאילו שאין מספיק זיכרון), אף על פי שהגדרתי מודל Large, ואפילו Huge.
אגב, כשאני מפעיל את התכנית מהקובץ EXE שנוצר, מחוץ ל-Borland C, אין בעייה כזאת.

2. שוב פעם בעייה של צבעים. הפעם בגלל שאין לי פונקציה שמעלה את ה-Palettes של הקובץ... ב-BGI, יכולתי להשתמש בפונקציה setpalette... אבל עכשיו, אין לי מושג מה לעשות.

אגב, אין אפשרות לעבור למצב גרפי נורמלי, כמו אלו של VESA (1024x768 32bit), באותו אופן שבו אני עובר למצב 13h ?

Dudenland


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
אנילאאנוכי

   02:11   15.08.03   
אל הפורום  
  6. אתה צריך גם להגדיר כמות HEAP  
בתגובה להודעה מספר 5
 
   להעלות את זה ל-640K


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
אנילאאנוכי

   02:13   15.08.03   
אל הפורום  
  7. אם תחפש בגוגל על SVGA תמצא המון  
בתגובה להודעה מספר 5
 
   בין השאר תמצא כל מיני מודים משופרים יותר מ-13H.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
liranr

   09:22   15.08.03   
אל הפורום  
  8. אז ככה  
בתגובה להודעה מספר 5
 
   1. לא נתקלתי בכזאת בעיה אף פעם, זה יעזור אם תעלה את הקובץ.
בכל אופן כיוון שאתה לא עוסק פה באנימציה או משהו דומה, אין לדעתי שום
סיבה לכתוב לבאפר. תכתוב ישר למסך.

2. כמו ש dryice אמר, אפשר לכתוב בקלות את הפונקציות האלה לבד.
כנס למשל לכאן לפרטים:
http://www.geocities.com/SiliconValley/Park/7113/OldPages/cGraphicsPalette.html
http://www.gamedev.net/reference/articles/article316.asp
(זה מחיפוש קצרצר בגוגל, תחפש גם תמצא אני מניח משהו יותר טוב)

לגבי הדרך אגב - זה קצת (הרבה) יותר מסובך מלכנס ל mode 13h, אבל זה אפשרי
בהחלט (על רוב כרטיסי המסך היום) ואתה מוזמן לנסות. (שוב אני ממליץ על גוגל)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

   16:07   15.08.03   
אל הפורום  
  11. בקשר לשאלה הראשונה:  
בתגובה להודעה מספר 8
 
   המטרה הסופית שלי היא הרבה מעבר לסתם הצגת תמונת BMP למסך...
אגב... כשאני מפעיל את הקובץ EXE מחוץ לבורלנד, בסיום ההצגה (לאחר הקשת מקש כלשהו), מתקבלת הוגעת שגיאה, בקשר להקצאה של הזיכרון...

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

זה הקובץ :http://rotter.net/User_files/nor/3f3cdac304c7de1e.txt

Dudenland


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   11:45   15.08.03   
אל הפורום  
  9. מידע על VESA  
בתגובה להודעה מספר 5
 
   http://rotter.net/User_files/nor/3f3c9db72c7863cf.txt


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

   14:27   15.08.03   
אל הפורום  
  10. טוב... תודה לכולם...  
בתגובה להודעה מספר 0
 
   הסתדרתי עם ה-BMP...

אני חושב שאני אנסה לעבור ל-VESA...

Dudenland


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net