עבור לתוכן

C#-בעיה בשנוי רזולוציה של תמונה

Featured Replies

פורסם

שלום כולם

אני צריך להציג תמונה בפאנל(למעשה קבעתי מחלקה שיורשת פאנל ואני מנסה לעשות שיהיה לה תמונה ברקע), ואין לו property של IMAGE.

עכשיו אני מנסה לעשות

public void GameBoard_Paint(PaintEventArgs pea)
{
Graphics grfx=this.CreateGraphics();
grfx.DrawImage(backImage,0,0);
grfx.Dispose();
}

זה מצייר את תמונה.

עכשיו הבעיה היא שהhorizonta resolution וה vertical resolution של הIMAGE תמיד תקועים על 300, לבגלל זה התמונה לא מכסה אפילו 1/4 ממה שאני צריך. (הגודל המקורי של התמונה הוא 800X600 בערך).

מה אפשר לעשות?

פורסם

הבעיה היא בגודל של ה GameBoard או של ה backImage ? אם של הראשון נסה להגדיל את ה Width ו Height שלו ?

פורסם
  • מחבר

הבעיה בImage כי ה רזוליוציה שלו(יש לו property רזולוציה אופקית ורזולוציה אנכית) תקועה על 300X300 ואני לא יכול(לא יודע) להגדיל אותה.

פורסם

מאיזה סוג המשתנה ? איך אתה טוען את התמונה אליו ?

פורסם
  • מחבר

זה הולך ככה:


Grapihcs grfx;
Image backImage;

בהגדרת המשתנים

אחר כך בבנאי(constructor):

this.Image=Global::WindowesApplicatopn1.properties.Resource.hst_galaxy

כאן אני טוען את התמונה למשתנה.

ואז

public void GameBoard_Paint(PaintEventArgs pea)
{
grfx=this.CreateGraphics();
grfx.DrawImage(backImage,0,0);
grfx.Dispose();
}

זה מצייר את התמונה, פשוט בגודל 300X300 במקום 800X600.

במשתנה IMAGE יש כם Height ן Width וגם Horizontal Resolution ו vertical Resolution.

הרזולוציות תקועות על 300X300, והגובה והרוחב הגובה והרוחב האמיתיים של התמונה.

פורסם

האם כאשר הכנסת את זה כ resource לתוכנה זה אולי שינה את הגודל ? (והתכוונת this.backImage אני מניח ולא this.Image).

פורסם
  • מחבר

והתכוונת this.backImage אני מניח ולא this.Image

כן

לא יודע אם זה שינה את הגודל. לא נראה לי. כשאני פותח את התמונה מהresource (לוחץ עליה פעמיים) ובודק את הגודל הוא מראה 800X600.

פורסם

אוקי, הרזולוציה לא קריטית, הגודל כן. מה הגודל של ה grfx ?

פורסם
  • מחבר

לא יודעץ לא ידעתי שיש לו גודלץ אני אבדוק היום בשיעור ונראה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים