شما آقایون چند نفری که به این تاپیک پاسخ دادید.مگه حتماً بایستی چیزی رو که اطلاعات ندارید پاسخ بدید. اون طرف حق داشت گفت ادامه ندید چون اطلاعاتی در این زمینه ندارید بی جهت پاسخ می دید.اگر قرار باشه هر کس بخاد این کارو بکنه بیاد مختصاتو تغییر بده پس microsoft این 20 ساله کدوم api رو develop میکنه.
آخه قربون شکلت اون برای Dos بود حافظه رو به صورت dma هر جور میخاستیم استفاده می کردیم اون interupt ها هم دیگه تو ویندوز کار نمی کنه.خب میتوانید این کار را انجام دهید ولی باید مستقیما با سخت افزار و crt مانیتور کار کنید که کار خطر ناکیه و ممکنه مانیتورتان از تنظیم دربیاد یا به قول معروف بسوزد
میتوانید کتاب برنامه نویسی سیستمهای شخصی تالیف مایکل تیشر جلد دوم را مطالعه کنید.
جواب :می برمیگرده به مبحث تبدیلات هندسی در ریاضی ، فرض کنید
همون طور که می دونید توابع api اجازه نمی دن که شما عدد اعشاری رو به توابع رد کنید پس شما به Map (نگاشت) اعداد نیاز دارید. بعدش هم برای اینکه مختصات تو View عادی بزرگتر نشون نده می تونین Map مربوط به DC رو تغییر بدید به دقت های 0.0001 و 0.001
SetMapMode(Canvas.Handle,MM_HIENGLISH);یا
SetMapMode(Canvas.Handle,MM_MM_HIMETRIC)برای اون تغییر مختصات هم Viewport مربوط به DC رو روی مرکز صفحه تنظیم کنید.
SetViewportOrgEx(Canvas.Handle,ClientWidth div 2 ,ClientHeight div 2, nil);
Canvas.Rectangle(-100,-100,100,100);





پاسخ با نقل قول