مشاهده دست آورد نظرسنجی: امتیاز شما به این تاپیک ؟

رای دهنده
10. شما نمی توانید در این رای گیری رای بدهید
  • 20

    5 50.00%
  • 18

    3 30.00%
  • 15

    0 0%
  • زیر 14

    2 20.00%
نمایش نتایج 1 تا 22 از 22

نام تاپیک: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

  1. #1

    Arrow ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    با سلام
    دوستان قراره تو این تاپیک ساخت یک برنامه شبیه paint ویندوز رو از ابتدا شروع کنیم. چون این برنامه, موضوع پروژه درس برنامه نویسی سیستم این ترم منه, لذا قراره بصورت پایه ای شروع به برنامه نویسی و ساخت paint کنیم. در ابتدا برنامه بصورت ساده و ابتدایی شروع به ساخت میشه و کم کم امکانات بسیاری به اون اضافه خواهد شد. فقط چون من توی اسمبلی professional نیستم به کمک تک تک شما دوستان نیاز دارم. مطمئنا در پایان این تاپیک, یک برنامه خوب و زیبایی از paint طراحی شده توسط خودمون خواهیم داشت.
    سعی و تلاش من توی این زمینه بسیار زیاد خواهد بود و سعی می کنم که کدهای برنامه بصورت حرفه ای و همچنین ماکرو و تایع نوشته بشن تا در پایان یک مرجع مناسب برای رفع مشکلات کاربران دیگه باشه.

    من یک برنامه که مربوط به پروژه ترم پیشمه با عنوان مربع جادویی توی این تاپیک گذاشتم که می تونیم برای ساخت این برنامه paint از اون ایده هایی بگیریم.

    از پست بعد انشاءا... کار رو شروع می کنیم. در این راه به کمک و راهنمایی تمامی دوستان نیاز دارم.
    امیدوارم که به نتیجه مطلوب برسیم.
    موفق باشید.

    برنامه گام اول آماده شد.
    برنامه گام دوم آماده شد.
    برنامه گام سوم آماده شد.
    آخرین ویرایش به وسیله مرتضی تقدمی : پنج شنبه 24 آذر 1390 در 23:43 عصر

  2. #2

    Arrow نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    سلام
    خب توی گام اول قراره که برنامه ما توسط کلیدهای جهت دار, خطوطی رو رسم کنه. با این قابلیت که با زدن دکمه space بتونیم موقتا رسم خط رو متوقف کنیم تا توسط کلیدهای جهت دار به مکان مورد نظر بریم و کار رو ادامه بدیم.

    یک سوالی از دوستان دارم اینکه من الان توسط کدهای زیر به مد گرافیک رفتم.

    MOV AH,00H
    MOV AL,12H
    INT 10H

    حالا می خوام که به مکان مورد نظرم توی صفحه پرش کنم. اما چون من توی مد تکست با این کار کردم, توی مد گرافیک نمی تونم جواب بگیرم.
    دوستان در این مورد راهنمایی کنن که من ادامه کاراش رو خودم انجام بدم. روی همین گیر کردم.
    راستی از برنامه ای که توی پست بالا گفتم می تونین کمک بگیرین.
    ممنون
    موفق باشید

  3. #3

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    سلام
    حالا می خوام که به مکان مورد نظرم توی صفحه پرش کنم. اما چون من توی مد تکست با این کار کردم, توی مد گرافیک نمی تونم جواب بگیرم.
    منظورتون رو نفهمیدم، اگر بیشتر توضیح بدید شاید بتونم کمکتون کنم. آیا میخواید یه پیکسل رو set کنید؟

  4. #4

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    نقل قول نوشته شده توسط unknown.unforgiven مشاهده تاپیک
    سلام

    منظورتون رو نفهمیدم، اگر بیشتر توضیح بدید شاید بتونم کمکتون کنم. آیا میخواید یه پیکسل رو set کنید؟
    سلام
    فرض کنید توی نقطه 0,0 هستم. می خوام به نقطه 100,50 پرش کنم. اما توی مد گرافیک.
    ممنون

  5. #5

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    منظورتون از پرش رو هنوزم متوجه نشدم. توی مد گرافیکی چیزی مثل cursor نداریم که بخوایم اون رو به جایی منتقل بکنیم، مگر اینکه منظورتون نقطه ای باشه که قراره توش یه رنگی رسم بشه. اگر منظورتون همینه فقط لازمه که مختصات رو توی دو تا متغیر قرار بدید و البته یه زیربرنامه برای رسم پیکسل داشته باشید. برای جا به جا کردن نقطه هم میتونید از مقداردهی به همون دو تا متغیر استفاده کنید
    آخرین ویرایش به وسیله unknown.unforgiven : یک شنبه 24 مهر 1390 در 23:43 عصر

  6. #6

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    ممنون. ببینید من توی مد تکست می تونستم از یک نقطه به نقطه دیگه صفحه پرش کنم و متن مورد نظرم رو اونجا چاپ کنم. اما حالا توی مد گرافیک مثل اینکه اوضاع فرق کرده. من هدفم اینه که با کلید جهت نما, مکان نما رو به یه جای دیگه منتقل کنم. برای این کار باید مقدار های x و y رو اضافه یا کم کنیم و بعد مکان نما رو به همون نقطه منتقلش کنیم. همین جوریه دیگه ؟ حالا اگه میشه راهنمایی کنید.
    ممنون

  7. #7

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    حالا می خوام که به مکان مورد نظرم توی صفحه پرش کنم. اما چون من توی مد تکست با این کار کردم, توی مد گرافیک نمی تونم جواب بگیرم.
    قبلا این برنامه رو توی تالار دیده بودم،جستجو کنید.
    در این ارتباط شما درمد گرافیک با پیکسل ها سرو کار دارین که میتونیدبه گرافیک مستقیم دسترسی داشته باشین(سرعت بیشتر و سخت تر) یا با وقفه بایوس (آسون تر و کندتر)
    int10
    graphics mode and example src
    Graphics with Direct Memory Access.
    شما اول با پیکسل ها ظاهر برنامه رو درست کن،بعد یک پیکسل سیاه یا به رنگ زمینه(خنثی) در وسط صفحه رسم کنید و بعد در صورت فشرده شدن کلید خاص کار مورد نظر رو انجام بدین
    فقط باید چک کنید از بازه مشخص خارج نشید و یا شدین چه کاری انجام بشه
    صفحه هم 2 بعدی هست و بر اساس ایکس و ایگرگ مشخص میکنید در لینک هایی که گذاشتم نمونه هست کارتون راه میوفته
    موفق باشی
    سلام، دوستان من خیلی وقت است در سایت برنامه نویس فعالیت ندارم پس لطف کنید پیام خصوصی ندین، در صورتی که با اینجانب کاری داشتین از طریق ایمیل xman_1365_x@yahoo.com می تونید با من مکاتبه کنید. موفق باشید.

  8. #8

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    اینم ببنید بد نیست
    Graphical programming in Assembly (DOS)
    سلام، دوستان من خیلی وقت است در سایت برنامه نویس فعالیت ندارم پس لطف کنید پیام خصوصی ندین، در صورتی که با اینجانب کاری داشتین از طریق ایمیل xman_1365_x@yahoo.com می تونید با من مکاتبه کنید. موفق باشید.

  9. #9

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    سلام
    دوستان من با این کدها تونستم به نقطه x,y برم. اما مشکل اینه که من حتما باید رنگ پیکسل رو مشخص کنم! یعنی اگر مثلا رنگ زمینه سفید باشه و من رنگ مشکی رو انتخاب کرده باشم, اینجوری اون پیکسل روشن میشه و برعکس, که من نمی خوام این اتفاق بیافته. لطفا راه حل ؟


    mov ah,0ch
    mov bh,0
    mov al,02
    mov cx,y
    mov dx,x
    int 10h


    موفق باشید

  10. #10

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    با این کدها تونستم به نقطه x,y برم. اما مشکل اینه که من حتما باید رنگ پیکسل رو مشخص کنم! یعنی اگر مثلا رنگ زمینه سفید باشه و من رنگ مشکی رو انتخاب کرده باشم, اینجوری اون پیکسل روشن میشه و برعکس, که من نمی خوام این اتفاق بیافته. لطفا راه حل ؟
    در پست قبل گفتم همه کارتون با با ارتباط مستقیم یا وقفه قابل انجام هست شما داری با وقفه کار میکنی پس از وقفه زیر برای گرفتن رنگ اون پیکسل استفاده کنید بعد al هرچی بود نسبتش بدین به پیکسل گذاری بعد(همون پیکسل خنثی که گفتم)
    INT 10h / AH = 0Dh - get color of a single pixel.

    input:
    CX = column.
    DX = row.
    output:
    AL = pixel color
    سلام، دوستان من خیلی وقت است در سایت برنامه نویس فعالیت ندارم پس لطف کنید پیام خصوصی ندین، در صورتی که با اینجانب کاری داشتین از طریق ایمیل xman_1365_x@yahoo.com می تونید با من مکاتبه کنید. موفق باشید.

  11. #11

    Arrow نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    سلام
    برنامه مرحله اول آماده شد.
    در این برنامه ساده توسط کلیدهای جهت دار می تونیم خطوطی رو روی صفحه رسم کنیم. توسط کلید space هم می تونیم تعیین کنیم که خط رسم شود یا خیر.
    موفق باشید
    فایل های ضمیمه فایل های ضمیمه

  12. #12

    Arrow نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    سلام
    برنامه مرحله دوم آماده شد.
    در این برنامه علاوه بر قابلیت های برنامه مرحله اول, می تونیم رنگ خطوط رسم شده رو هم انتخاب کنیم. همچنین مشکلی که در رسم خطوط روی هم در مرحله قبل وجود داشت رفع گردید.
    موفق باشید
    فایل های ضمیمه فایل های ضمیمه

  13. #13

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    سلام
    مثل اینکه کسی ازین تاپیک خوشش نیومده!!
    بهرحال...
    برنامه پینت ما فعلا تا اینجا زسیده که این امکانات به اون اضافه شده :
    مد گرافیکی
    نمایش ماوس
    تنظیم محدوده رسم
    جعبه رنگ
    رسم مستطیل
    و پاک کن.
    تا اینجا فعلا دست و پا شکسته آماده شده! منتها دوتا مشکل دارم. یکی برای رسم خط و یکی هم برای قابلیت fill. برای رسم خط من از الگوریتم برزنهام می خواستم حل کنم که نشد. چون توی اسمبلی چیزی به نام اعشار نداریم به خاطر همین خط دقیق رسم نمیشه و با مشکلاتی مواجه است. در مورد قابلیت fill هم اینکه من هیچ چیزی در موردش نمی دونم!
    اگه کسی در خصوص این دو مشکل می تونه راهنمایی کنه ممنون میشم.
    موفق باشید

  14. #14

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    تا اینجا فعلا دست و پا شکسته آماده شده! منتها دوتا مشکل دارم. یکی برای رسم خط و یکی هم برای قابلیت fill. برای رسم خط من از الگوریتم برزنهام می خواستم حل کنم که نشد. چون توی اسمبلی چیزی به نام اعشار نداریم به خاطر همین خط دقیق رسم نمیشه و با مشکلاتی مواجه است. در مورد قابلیت fill هم اینکه من هیچ چیزی در موردش نمی دونم!
    کتاب زیر و فصل مربوطه برای حل مشکل اول
    Graphics Programming Black Book by Michael Abrash
    Chapter 35: Bresenham Is Fast, and Fast Is Good
    در اسمبلی اعشار نداریم؟ بخش fpu کارش چیه پس ؟ البته در سطح وقفه ها و کار با اعداد صحیح همون کتاب بالا مشکلتون رو حل میکنه
    در ارتباط با fill کردن برنامه paint در ویندوز سون رو اجرا کنید چند نمونه ساده از این قابلیت رو اعمال کنید، متوجه میشین

  15. #15

    Arrow نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    سلام

    بعد از چند هفته کار کردن روی برنامه پینت, این امکانات رو بهش اضافه کردم:
    مد گرافیکی
    نمایش ماوس
    تنظیم محدوده رسم
    جعبه رنگ
    رسم مستطیل
    ابزار Fill
    و پاک کن

    فایل سورس برنامه رو ضمیمه پست کردم که دوستان استفاده کنن.

  16. #16

    Arrow نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    سلام
    برنامه مرحله سوم آماده شد.
    بعد از چند هفته کار کردن روی برنامه پینت, این امکانات رو بهش اضافه کردم:
    مد گرافیکی
    نمایش ماوس
    تنظیم محدوده رسم
    جعبه رنگ
    رسم مستطیل
    ابزار Fill
    و پاک کن

    فایل سورس برنامه رو ضمیمه پست کردم که دوستان استفاده کنن.
    موفق باشید.
    آخرین ویرایش به وسیله مرتضی تقدمی : چهارشنبه 27 اردیبهشت 1391 در 16:46 عصر

  17. #17

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    برنامه مرحله سوم رو برای دانلود گذاشتم, اما هنوز مشکل رسم خط توی اون حل نشده. کتابی که آقای xman_1365_x معرفی کردند رو در حد چند دقیقه مطالعه کردم دیدم راه حلش خیلی طولانیه بی خیال خط شدم!!
    یه قابلیت دیگه استادمون گفته به این برنامه اضافه کنیم. قابلیت ذخیره تصویر رسم شده در فایل و بعد لود کردن اون. به نظر آسون میاد. اما دوستان اگه فکری به نظرشون میرسه و یا قطعه کد آماده ای دارن, اینجا بزارن تا کار برنامه زودتر تموم شه.
    در ضمن اگه کسی هم نظری در مورد برنامه داره بده.
    ممنون
    موفق باشید

  18. #18

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    برنامه مرحله سوم رو برای دانلود گذاشتم, اما هنوز مشکل رسم خط توی اون حل نشده. کتابی که آقای xman_1365_x معرفی کردند رو در حد چند دقیقه مطالعه کردم دیدم راه حلش خیلی طولانیه بی خیال خط شدم!!
    خوب دوست عزیز، اون کتاب برای کارهای گرافیکی واقعا خوب و و مرجعی کامل با 70 فصل هست که برای رسم خط ،دایره و اشکال دیگه الگوریتم های مختلف رو گفته،روش ساده تر که نیاز شما رو برطرف میکنه فصل 12 از کتاب سید رضی هست.
    یه قابلیت دیگه استادمون گفته به این برنامه اضافه کنیم. قابلیت ذخیره تصویر رسم شده در فایل و بعد لود کردن اون. به نظر آسون میاد. اما دوستان اگه فکری به نظرشون میرسه و یا قطعه کد آماده ای دارن, اینجا بزارن تا کار برنامه زودتر تموم شه.
    باید یک ساختاری رو تعریف کنید که وضعیت هر پیکسل رو بخونید و به طریقی که بتونید بازیابی کنید در فایل ذخیره کنید.
    در ضمن اگه کسی هم نظری در مورد برنامه داره بده.
    متاسفانه هنوز برنامتون رو ندیدم ، در اولین فرصت که دیدم نظر میدم
    موفق باشی

  19. #19

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    عزیز کجا ضمیمه کردین فقط تا قسمت دوم هست که باقیش نیست !! ؟
    میشه لطفا کل پروژه رو بزارید
    خیلی ممنون اولین سایت ایرانی بود که دیدم توش اینجوری توضیح داده ممنون
    راستی داخل برنامه خط ها رو هم کنارش توضیح دادین ؟


    نقل قول نوشته شده توسط مرتضی تقدمی مشاهده تاپیک
    سلام

    بعد از چند هفته کار کردن روی برنامه پینت, این امکانات رو بهش اضافه کردم:
    مد گرافیکی
    نمایش ماوس
    تنظیم محدوده رسم
    جعبه رنگ
    رسم مستطیل
    ابزار Fill
    و پاک کن

    فایل سورس برنامه رو ضمیمه پست کردم که دوستان استفاده کنن.

  20. #20

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    نقل قول نوشته شده توسط مرتضی تقدمی مشاهده تاپیک
    سلام
    برنامه مرحله دوم آماده شد.
    در این برنامه علاوه بر قابلیت های برنامه مرحله اول, می تونیم رنگ خطوط رسم شده رو هم انتخاب کنیم. همچنین مشکلی که در رسم خطوط روی هم در مرحله قبل وجود داشت رفع گردید.
    موفق باشید
    چجوری اجرا میشه دوست عزیز ؟
    فایل exe ؤو باز میکنم اما اجرا نمیشه

  21. #21

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    سلام
    ببخشید گفتید که فایل مرحله سوم رو ضمیمه کردید اما نیست فقط دو فایل مرحله اول و دوم هستش میشه خواهشا یه بررسی کنید واقعا بهش احتیاج دارم
    ممنون میشم

  22. #22

    نقل قول: ساخت گام به گام برنامه Paint توسط زبان اسمبلی

    منم قصد دارم همچین برنامه ای بنویسم لطفا آخرین کد هایی که نوشتید رو قرار بدید تا ببینم می تونم کمکی بکنم و شاید هم کد های شما کمکی به من بکنه
    ممنون

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •