עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

תמונות ומערכים .. C#

Featured Replies

פורסם

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

שכל תא בו מייצג פיקסל אחד מהתמונה- 0 ללבן ו-1 לשחור .

הבעיה היא שכשאני רוצה להשתמש במערך (שבניתי בפעולה נפרדת)

בפעולה הראשית ולהפעיל עליו פעולות נוספות זה נותן שגיאה שהמערך לא קיים ..

יש לזה פתרון?

תודה מראש לעוזרים (: ...

פורסם

יעזור מאד עם תוסיפי את הקוד הרלוונטי בעזרת כפתור ה"#"

פורסם
  • מחבר

זו הפעולה שבונה את המערך :


public static void imageToArray(Bitmap B)
{
int width = B.Size.Width;
int height = B.Size.Height;
int[,] arr = new int[width, height];
int[,] labelarr = new int[width - 2, height - 2];
for (int j = 0; j < height; j++)
{
for (int i = 0; i < width; i++)
{
Color binarycol = B.GetPixel(i, j);
if (binarycol.R == 0 && binarycol.G == 0 && binarycol.B == 0)//black
arr[i, j] = 1;
else
arr[i, j] = 0;
Debug.Write(arr[i, j]);
}
Debug.WriteLine(" ");
}
}

זה הזימון :


private void comp_btn_Click(object sender, EventArgs e)
{

Bitmap comp = new Bitmap(pb_grayscale.Image);
imageToArray(comp); \\עד כאן עובד בסדר..
int numberofobjects = countObjects(arr);
Debug.WriteLine("number of objects is:" + numberofobjects);

}

countObjects

זה פעולה שמחשבת את מספר העצמים בתמונה ..

השגיאה שמתקבלת היא:

The name 'arr' does not exist in the current context

פורסם

מאיפה הבאת את המשתנה arr? הוא לא קיים ב comp_btn_Click.

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

הינה הקוד: http://www.codetrunk.com/m98fc98c

פורסם
  • מחבר

תודה רבה!

חשבתי על זה אבל לא ידעתי שאפשר להחזיר ערך של מערך ,

הייתי בטוחה שאם עושים שינוי במערך הוא תקף גם בתוכנית הראשית

(ככה לימדו אותנו בבית ספר, בכל אופן)

ואה כן ,אני בת ..(:

פורסם

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

וכדאי שתגדירי את זה בפרופיל כדי שלא נטעה שוב :P

ארכיון

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

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.