vb6; چطور میشه طیف رنگی طولانی ای تشکیل داد از قرمز پررنگ تا آبی پر رنگ؟؟؟

با سلام...
چطور میشه طیف رنگی طولانی ای تشکیل داد از قرمز پررنگ تا آبی پر رنگ؟ (مثلا با 50 یا 100 رنگ مختلف)
( آیا تابع RGB این کارو انجام میده؟)
توضیح اینکه میخوام هر رنگ رو به یه پیکسل از یه picturebox نسبت بدم.
با تشکر...
 

the_king

مدیرکل انجمن
با سلام...
چطور میشه طیف رنگی طولانی ای تشکیل داد از قرمز پررنگ تا آبی پر رنگ؟ (مثلا با 50 یا 100 رنگ مختلف)
( آیا تابع RGB این کارو انجام میده؟)
توضیح اینکه میخوام هر رنگ رو به یه پیکسل از یه picturebox نسبت بدم.
با تشکر...

API ویندوز برای ساختن طیف های رنگی تابع آماده ای به نام GradientFill داره، برای ایجاد کردن رنگ های دو طرف طیف، هم
می توانید از RGB استفاده کنید و هم از مقادیر آماده ای مثل vbRed و vbBlue و هم توابعی مثل ()Point

برای ساده تر شدن کار، یک روتین به اسم PaintGradient نوشتم که می تواند یک طیف رنگی افقی یا عمودی
را در یک کادر مستطیل شکل رسم کند.

(PaintGradient(Color1, Color2, X1, Y1, X2, Y2, Vertical

Color1 رنگ اول و Color2 رنگ دوم طیف است.
X1 و Y1 نقطه بالا-چپ کادر مستطیل شکل را مشخص می کند.
X2 و Y2 نقطه پایین-راست کادر مستطیل شکل را مشخص می کند.
Vertical می تواند True باشد تا طیف بصورت عمودی رسم شود، و اگر False باشد طیف افقی رسم خواهد شد.

کد کامل تابع به همراه یک مثال ضمیمه این پست می باشد.
 

پیوست ها

  • Gradient.zip
    4.8 کیلوبایت · بازدیدها: 9
برای یه جدول مثل فایلی که ضمیمه کردم چطور این کار انجام میشه؟
یعنی چطوری میشه یک طیف رنگ از عدد 7 (بعنوان کوچکترین عدد منسوب به پیکسلها) تا عدد 20 (بعنوان بزرگترین عدد منسوب به پیکسلها) ایجاد کرد بطوری که مثلا همه پیکسلهای با عدد 11 هم رنگ باشند؟
با تشکر...
 

پیوست ها

  • msflex-txt.txt
    1.2 کیلوبایت · بازدیدها: 1

جدیدترین ارسال ها

بالا