الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما الجملة المقابلة لل (P.PSet (x,y

مغلق
بدأه النــــورس في 3 نوفمبر 2004 · 10 رد · 1,205 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي برنامج في ال VB يقوم برسم خط باستخدام معادلة الخط المستقيم حيث يقوم بطباعة pixel-pixel والجملة المسؤولة عن هذه العملية هي (P.PSet(x,y داخل for loop

حاولت أن أحول البرنامج إلى #C فلم أجد الجملة المقابلة

وهذا هو البرنامج على vb

dda.zip

#2

لم احمل البرنامج ال1ي ارفقته. لكنه بشكل عام لرسم خط في الدوت نت عليك استخدام الطرق التالية لل Graphics

public void DrawLine(Pen, Point, Point);
public void DrawLine(Pen, PointF, PointF);
public void DrawLine(Pen, int, int, int, int);
public void DrawLine(Pen, float, float, float, float);
l

وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان

بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي

يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي

برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي

يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو

http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3

#3

المثال كامل

vb.net

c#

dda.rar

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#4

السلام عليكم :

شكراً لكم اخواني على الإهتمام.

أخي DotNetExpert أعرف أن هناك داله : ()DrawLine

لكن أنا أريد أن أتحكم بال pixels . مثلا ً إذا أردت أن أرسم خط في كل عدد معين من ال pixels أريد أن تظهر نتوأات أي نقاط فرعية حول الخط ، وأنا أيضا ً أفكر بعمل دائرة عن طريق معادلة الدائرة بنفس الطريقة بالتحكم بال pixels .

أنا حاليا ً ادرس مادة الرسم بالحاسوب لكن نأخذها بال vb وأنا أحب ال #C وقد أعجبتني هذه الطريقة بالرسم .

أخي ahabdeen شكرا ً لك لكني لم استطع فتح الملف فياليت أن تضعه بامتداد zip.

#5

Download

dda.zip

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#6
النــــورس كتب:
لكن أنا أريد أن أتحكم بال pixels . مثلا ً إذا أردت أن أرسم خط في كل عدد معين من ال pixels أريد أن تظهر نتوأات أي نقاط فرعية حول الخط ، وأنا أيضا ً أفكر بعمل دائرة عن طريق معادلة الدائرة بنفس الطريقة بالتحكم بال pixels .

من اجل الزخارف البسيطة تستطيع استخدام خاصيات Pen التي تغير شكل ما يرسمة القلم الى خط منقط مثلا أو على شكل شحطات وذلك قيل ارساله الى DrawLine

من أجل الزخارف الأخرى المعقدة تستطيع استخدام حلقة كل مرة رسم نقطة واحدة أو اكثر كما تريد.

من أجل رسم نقطة واحد استخدم الطريقة DrawLine أيضا ولكن مع تمرير نفس النقطة كنقطة البداية والنهاية

وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان

بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي

يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي

برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي

يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو

http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3

#7

شكرا ً لك أخي إيهاب البرنامج واضح وفهمته بشكل جيد لكن لاحظت أن الجملة :

    p.Location = new Point((int)(Math.Round(x)), (int) (Math.Round(y)));

تتحكم بموقع الصورة وليس بالرسم على الصور . فعندما شغلت البرنامج تحركت الصورة باتجاه الخط اللذي من المفروض أن يُرسم هو ، وذلك لأننا استخدمنا كلمة Location لكن ما الكلمة التي تجعله يطبع على الصورة ؟

نعم أخي DotNetExpert فهمت عليك وشكرا ً على هذه الفكرة . لكن في الحقيقة أنا أفكر بشيئ أكبر من الزخارف . أفكر بمعالجة الصور . وربما لا دخل للرسم بالحاسوب بمعالجة الصور إلا أني لاحظت أني أستطيع أن أستفيد من برمجة المعادلات الرياضية في معالجة الصور .

#8

بالنسبة الى الرسم على صورة ما . فبعد أن تقوم بانشارء كائن من نوع Bitmap عليك انشاء Graphics جديد عن طريق Graphics.FromImage وبعدها تستطيع رسم البكسلات على هذه الصورة كما تريد بالطريقة التي تحدثنا عنها. بالنسبة الى الحصول على بكسل ما من صورة للقراءة فقط فاستخدم الطريقة Bitmap.GetPixel

وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان

بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي

يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي

برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي

يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو

http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3

#9

ahmed مش ehab

انا كنت مفكر انك عايز تحركها فى خط مستقيم

بالنسبة الى الرسم على صورة ->>>>DotNetExpert

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

#10

هذا هو ما أبحث به , مثلا ً لدي صورة مرسوم عليها الرقم 1 وقمت بتعريف مصفوفة حيث تحتوي على القيمة الراجعة للون البكسل إذا كان أسود يعيد الرقم 1 وإذا كان لونه أبيض يعيد القيمة 0 . سأحاول بهذا وسأريكم التجربة إن شاء الله .

ماشي أخي أحمد

لكن أنا فعلا ً أقضد أن أطبع خط مستقيم على الصورة تماما ً مثل البرنامج الذي بعثته على vb ومن المهم أخي أن أجد الحل .

مشكورين أخواني .

#11

بسم الله الرحمن الرحيم

اولا ً : تقبل الله طاعاتكم و كل عام وأنتم بخير .

لقد قمت بتجربة بسيطة في محاولة إعادة قيمة حسب لون ال pixel في الصورة لكن طبعا ً لم تنجح . مع أني متأكد أن الكود صحيح . لكن يبدو أن هناك خطأ سهوت عنه

وهذا هو الكود :

private void Form1_Load(object sender, System.EventArgs e)
  {
 	 int x,y;
 	 System.Drawing.Image image = Image.FromFile("H:/CoputerGraphics/pp/picture/one.gif");
 	 Bitmap p = new Bitmap(image);
     
 	 for(x=0; x< p.Width; x++)
    for(y=0; y< p.Height; y++)
    {	
   	 if(p.GetPixel(x,y).IsEmpty)
      l.Text += 0; 
   	 else
      l.Text += 1;

   	 if(x == p.Width)
      l.Text = "\n";
    } 	 
 	 p1.Image =image;
  }

يا ريت تراجعة أخي DotNetExpert وتفهمني شو ناقص بالظبط .

لم أجد داعي للجملة Graphics.FromImage إلا إذا كانت هي الناقصة . وإن كانت فكيف أستخدمها .

picture.zip

هذا الموضوع مغلق.

مواضيع مشابهة