get & set پیکسل در مانیتور
سلام
دوستان چگونه میشه رنگ یک پیکسل از مانیتور رو گرفت و رنگ دلخواه رو در همون مکان
قرار داد .
اگر یه نمونه کدی دارین ممنون میشم
بنده قصد دارم برنامه ای بنویسم که مانیتور رو سیاه و سفید کنه و علت اصلی آن کمتر شدن کار چشم در هنگام برنامه نویسی است که خیلی تاثیر گزاره ممنون میشم کمک کنید با هم این برنامه رو بنویسیم
نقل قول: get & set پیکسل در مانیتور
دقیقا مشخص کنید که پلت فرمتون چیه ؟؟
تحت ویندوز می خواید این کار رو کنید و یا ...
نقل قول: get & set پیکسل در مانیتور
بله تحت ویندوز میخوام باشه و میخوام برنامه به شکلی عمل کنه که پس از اجرا ، مانیتور به شکل سیاه
سفید دیده بشه و بتوان به راحتی با سیستم کار کرد .
بنده جستجو ها مختلف رو انجام دادم تا ببنیم همچین برنامه ای برای این کار هست یا نه به نتیجه نرسیدم
تنها یک بار دیدم در یکی از laptop های دوستان همون اول که خریده بود روش نمیدونم driver یا نرمافزری نصب بود که احتمالا از طریق control panel میتونست مانیتور رو سیاه و سفید کنه . و بنده خودم این موضوع رو دیدم ولی بعدا که windows عوض کرده بود نتونستیم بفهمیم این خصوصیت از کجا آمده بود .
چند باریم خواستم با vb یا C# برنویسم نشد خلاصه به این نتیجه رسیدم که با assembly احتمالا میشه ممنون میشم در صورت امکان راهنمایی کنید یا اگر راه بهتری برای این حل این موضوع میشناسید بگین
متشکر
نقل قول: get & set پیکسل در مانیتور
سلام
دوستان بنده این برنامه رو با #c نوشتم https://barnamenevis.org/showth...386#post569386 ولی همانطور که حدس میزدم سرعت برنامه خوب نیست
بنده فکر میکنم با اسمبلی مشکل سرعت نداشته باشیم از دوستان اسمبلی دان اگه این Get و Set
پیکسلها رو میدونن یا روش دیگه ممنون میشم راهنمایی کنن .
با تشکر
نقل قول: get & set پیکسل در مانیتور
چون می خواهید تو ویندوز این کار رو انجام بدید پس باید API های مربوطه رو بدونید و این ای پی آی ها در دلفی و یا سی و یا اسمبلی فرقی نمی کنن و اگه از یه تکنیک استفاده کنید حتی سرعتشون هم میشه گفت یکسانه . شما اول باید با ای پی آی GetDC هندل دی سی دسکتاپ رو بگیرید که دی سی ۰ هست . بعد اونا رو تغییر رنگ بدید . من الان این ای پی آی ها رو یادم نیست . شما در MSDN بگرد راحت پیدا میشه . بعد برنامه رو با دلفی و یا سی و یا هر برنامه نویسی دیگه ای تحت وین ۳۲ می تونی بنویسی .
نقل قول: get & set پیکسل در مانیتور
دوست عزیز بنده این کار رو کردم و در پست قبلی لینک رو گزاشتم ولی اینجا تاپیک زدم چون تا جایی که یادم میاد یکی دو سال پیش با اسمبلی برنامه ای نوشتم که مستقیم رو حافظه خروجی کارت گرافیکی باعث تغییر رنگ پیکسلها میشد ولی الان هرچی دنبالش گشتم پیدا نکردم .
خیلی ممنون و موفق باشید
نقل قول: get & set پیکسل در مانیتور
عزیز من این کار در ویندوز فقط با نوشتن درایور میسر هست که بعید میدونم شما تونسته باشی درایور بنویسی و الان هم یادت نباشه . پش اون کاری که کردی با API های سطح کاربر ویندوز بوده که استفاده کردن این توابع چه در اسمبلی و چه در وی بی یک خروجی و تقریبا یک سرعت داره . شما این برنامه رو با سی شارپ نوشتی که قدری سرعتش پایین تر از برنامه نویسی مستقیم با وین ۳۲ هست .
موفق باشی .
نقل قول: get & set پیکسل در مانیتور
با نظر شما موافقم احتملا همین طوره که شما میگین بوده
حالا درایور نویسی که فکر میکنم پوست بکنه ،
راه ساده تری برای این کار نیست که مشکل سرعت نداشته باشه
و یک سوال دیگه اگه همین برنامه ای که با C# نوشته شده که با پیکسلها کار میکنه با اسمبلی نوشته شه به نظر شما سرعت خیلی متفاوت خواهد بود یا خیر ؟
متشکر
نقل قول: get & set پیکسل در مانیتور
خیر . سرعت در دو جا پایینه . چون حتما شما از این روش استفاده کردید که به تعداد پیکسل های صفحه نمایش دستور for گذاشتید و در هر دستور آمدید رنگ اون پیکسل رو عوض کردید . راه بهتر استفاده از تکنیک های اسکن کردن خطی به جای اسکن کردن نقطه ای است .
موفق باشید .
نقل قول: get & set پیکسل در مانیتور
با تشکر اگر میتونین این تکنیک اسکن کردن خطی رو توضیح بدین