PDA

View Full Version : تغییر رنگ(مثل برنامه paint)



fshb_ 1370
چهارشنبه 04 آذر 1388, 21:34 عصر
سلام
من میخوام وقتی کاربر روی یه رنگ کلیک میکنه رنگ تغییر کنه(مثل paint)
از خط 120 به بعد برنامه کد مربوط به تغییر رنگه.
اگر بگید اشکال این کد چیه و چه شکلی باید حلش کنم، ممنون میشم

shask00l
پنج شنبه 05 آذر 1388, 02:32 صبح
اگه ممکنه فایلهای پروژه رو کامل upload کن که بتونیم اجراشون کنیم ....

هدر فایل mouse.h نیست .

fshb_ 1370
پنج شنبه 05 آذر 1388, 09:04 صبح
ببخشید، یادم رفت بفرستم

shask00l
پنج شنبه 05 آذر 1388, 15:44 عصر
اگه ممکنه فایلهای پروژه رو کامل upload کن که بتونیم اجراشون کنیم ....

هدر فایل mouse.h نیست .

دوست عزیز .. من منظورم اون فایل mouse.h هستش که اول برنامت ازش استفاده میکنی . اونو بفرست . این فایلی هم که فرستادی فکر کنم برنامه نمونه برای استفاده از اون فایل باشه .

من نتونستم برنامتون اجرا کنم ولی قبلا این کارو انجام دادم . کار سختی نیست . فقط کافیه یه color box بسازی که همه ی رنگا توش باشن . بعد با توجه به مختصاتی که کلیک میشه یا با کمک تابع getpixel اون رنگ رو در بیاری . همین .

ضمنا یه نگاهی به پیوست بنداز . توش از همین تکنیک استفاده شده . البته سورس همراش نیست . ماله یکی از پروژه های قدیمیمه . یه برنامه بود که انیمیشن میساخت البته فریم به فریم . هیچوقت کامل نشد . میخاستم به عنوان پروژه پایانی یه درسی تکمیلش کنم ولی استاد مربوطه گفت باید دیتابیس بنویسی . اگه راست کارت بود بگو سورسشو واست بفرستم .

mortezamsp
پنج شنبه 05 آذر 1388, 16:28 عصر
با سلام.

اولا که if خیلی زیاد داشتی.میتونستی همشونو بذاری تو یه if که چک کنه تو صفحه نمایش هست یا نه بعد داخل اون بقیه if ها رو نگه میداشتی.
بعدشم ، باید یتعریف کنی که اگه رو یه رنگ کلیک شد، متغیر color اون رنگ رو بگیره، بعدا اگه روی صفحه نقاشی کلیک شد ، (با مقایسه ی مقدار z ) از دستور setcolor(color) استفاده کنی.


int color;
while( !exit )
{
//set color
if( mouse is on color_1 )
color=color_1;
...
...other colors
...
if(mouse is on color_n )
color=color_n;

//paint
if( mouse is in paint screen )
{
setcolor( color );

if(z==1){...}
if(z==2){...}
if(z==3){...}
}

//exit
if( mouse is on exit bar and z==1 )
exit=1;
}


بعدشم یه نگاهی به اینجا بنداز چند نمونه برنامه paint اینجا هست:
http://cplusplus.blogsky.com/1388/09/03/post-49/

راستی این هم فایل هدری کهبجای mouse.h ازش استفاده کردم:

fshb_ 1370
سه شنبه 10 آذر 1388, 10:53 صبح
shask00l جان میشه سورس برنامه رو برام بفرستی.
ممنون

shask00l
سه شنبه 10 آذر 1388, 11:03 صبح
اگه کار جدیدی روش انجام دادی برای منم بفرست :بوس: