هنر , خلاقیت , آموزش

سایت آموزشی هنری همیشه بیدار برای هنر دوستان و افراد خلاق

هنر , خلاقیت , آموزش

سایت آموزشی هنری همیشه بیدار برای هنر دوستان و افراد خلاق

:: از آنجا که اکثر ما تصور غلطی از یادگیری هنر طراحی داریم و طراحی را بیشتر یک استعداد خدا دادی می دانیم .
در حالی که طراحی بیشتر از آنکه نیاز به استعداد داشته باشد نیازمند آموزش , خلاقیت و پشتکار است. در واقع همه ما می‌توانیم به خوبیِ هنرمندانِ بزرگ طراحی کنیم کد بنویسیم و حتی قطعات الکترونیکی مخصوص برای خودمان بسازیم فقط نیازمند روشن شدن راه و زندگی نامه ی هنرمندان و افراد بزرگ هستیم تا به خود ایمان بیاوریم و پا پیش گزاریم.
بنا براین سایت همیشه بیدار ( http://online24h.ir) در تلاش برای افزایش سطح هنری و حرفه ای کاربران علاقه مند و هنرمندان عزیز می باشد تا این نقصان کوچک زندگیمان را برطرف سازیم.
وبلاگ من ( http://Online24H.blog.ir) از کاربرانی که در زمینه های هنری مهارت و فعالیت دارند دعوت به همکاری می نماید.
و از هنرمندانی که علاقه دارند آثارشان در وبلاگ یا سایت همیشه بیدار به نمایش در آید تقاضا می کند آثار خود را به ایمیل
aminis151@gmail.com
ارسال نمایند.

مدیریت Online24H.ir , Online24H.blog.ir :سعید امینی

پیام های کوتاه
  • ۳۱ فروردين ۹۴ , ۰۴:۵۶
    هنر
آخرین نظرات

پیاده سازی پروژه نقاشی شی گرا *قسمت اول*

سه شنبه, ۱۲ خرداد ۱۳۹۴، ۱۲:۱۳ ب.ظ

قصد داریم در طی چند پست متوالی، یک پروژه Paint را به صورت شی گرا پیاده سازی کنیم. خوب، پروژه ای که می‌خواهیم پیاده سازی کنیم باید دارای این امکانات باشه که مرحله به مرحله پیش میریم و پروزه کامل در نهایت در قسمت پروژه‌ها ی همین سایت قرار خواهد گرفت.

  1. قابلیت ترسیم اشیا روی بوم گرافیکی دلخواه
  2. قابلیت جابجایی اشیا
  3. قابلیت تغییر رنگ اشیا
  4. ترسیم اشیا توپر و تو خالی
  5. تعیین پهنای خط شی ترسیم شده
  6. تعیین رنگ پس زمینه در صورت تو پر بودن شی
  7. قابلیت پیش نمایش رسم شکل در زمان ترسیم اشیا
  8. توانایی انتخاب اشیا
  9. تعیین عمق شی روی بوم گرافیکی مورد نظر
  10. ترسیم اشیایی مانند خط، دایره، بیضی، مربع، مستطیل، لوزی، مثلث 
  11. قابلیت تغییر اندازه اشیا ترسیم شده

خوب برای شروع ابتدا یک پروژه از نوع Windows Application ایجاد می‌کنیم (البته برای این قسمت می‌توانیم یک پروژه Class Library ایجاد کنیم)

سپس یک پوشه به نام Models به پروزه اضافه نمایید.

خوب در این پروژه یک کلاس پایه به نام Shape در نظر می‌گیریم.

همه اشیا ما دارای نقطه شروع، نقطه پایان، رنگ قلم، حالت انتخاب، رنگ پس زمینه، نوع شی، .... می‌باشند که بعضی از خصوصیات را توسط خصوصیات دیگر محاسبه می‌کنیم. مثلا خاصیت Width و Height و X و Y توسط خصوصیات نقطه شروع و پایان می‌توانند محاسبه شوند.

ساختار کلاس‌های پروزه ما به صورت زیر است که مرحله به مرحله کلاس‌ها پیاده سازی خواهند شد.

با توجه به تصویر بالا (البته این تجزیه تحلیل شخصی من بوده و دوستان به سلیقه خود ممکن است این ساختار را تغییر دهند)

نوع شمارشی ShapeType: در این نوع شمارشی انواع شی‌های موجود در پروژه معرفی شده است

محتوای این نوع به صورت زیر تعریف شده است:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
namespace PWS.ObjectOrientedPaint.Models
{
    /// <summary>
    /// Shape Type in Paint
    /// </summary>
    public enum ShapeType
    {
        /// <summary>
        /// هیچ
        /// </summary>
        None = 0,
        /// <summary>
        /// خط
        /// </summary>
        Line = 1,
        /// <summary>
        /// مربع
        /// </summary>
        Square = 2,
        /// <summary>
        /// مستطیل
        /// </summary>
        Rectangle = 3,
        /// <summary>
        /// بیضی
        /// </summary>
        Ellipse = 4,
        /// <summary>
        /// دایره
        /// </summary>
        Circle = 5,
        /// <summary>
        /// لوزی
        /// </summary>
        Diamond = 6,
        /// <summary>
        /// مثلث
        /// </summary>
        Triangle = 7,
    }
}

انشاالله در پست‌های بعدی ما بقی کلاس‌ها به مرور پیاده سازی خواهند شد.

نظر یادتون نره دوستان

نظرات  (۱)

سلام ؛
پست مفیدی بود ؛ خوشحال می شم از آخرین مطلب سایت من دیدن کنی .

عنوان مطلب : جاینت ، هشتمین شگفتی جهان


اگر تونستی نظرت را هم بگو !

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی