PDA

View Full Version : سورت تعدادی رنگ در یک آرایه بصورت طیف



S_emadi
یک شنبه 07 مرداد 1386, 14:32 عصر
با سلام و احترام
آرایه ای از نوع Tcolor داریم که در آن تعدادی رنگ بصورت بهم ریخته وجود دارد می خواهم این رنگها را بصورت طیف پشت سرهم سورت نمایم اگر کسی با این مسئله کار کرده خواهشمند است جواب دهید. با تشکر(تمام رنگها جز مجموعه RGB‌هستند)

Hadizadeh
یک شنبه 07 مرداد 1386, 20:04 عصر
من در این زمینه کار نکردم ولی خوب چیزی که واضحه اینه که هر متغیر از جنس TColor معادله با یک عدد هگزادسیمال 32 بیتی. خوب کافیه که مثل الگوریتم های سورت معمولی این آرایه رو هم سورت کنی. یعنی در حقیقت داری اعداد هگز رو سورت می کنی .همین

S_emadi
سه شنبه 09 مرداد 1386, 10:50 صبح
با سلام مجدد
متاسفانه به روش سورت معمولی این کار امکان پذیر نیست و مثلاً طیفهای رنگ قرمز در کنار هم قرار نگرفته و بصورت پراکنده خواهد بود آیا در دلفی دستوری برای برگشت مقدار RGB یک رنگ وجود دارد که مشخص کند در یک رنگ چقدر رنگ قرمز و سبز و آبی وجود دارد اگر وجود دارد لطفاً راهنمایی فرمائید. با تشکر

Hadizadeh
سه شنبه 09 مرداد 1386, 10:53 صبح
بله تو همین فروم سرچ کنید قبلا بحث شده

S_emadi
سه شنبه 09 مرداد 1386, 16:40 عصر
متاسفانه چیزی پیدا نکردم!

Hadizadeh
سه شنبه 09 مرداد 1386, 16:46 عصر
خوب وقتی می گم TColor یک عدد هگز 32 بیتی ، فکر می کنی توش چی ذخیره شده؟! بایت اول مقدار قرمز، و .... و بایت آخر مقدار Alpha Channel هست!

Arman_1367
سه شنبه 09 مرداد 1386, 17:11 عصر
با سلام مجدد
متاسفانه به روش سورت معمولی این کار امکان پذیر نیست و مثلاً طیفهای رنگ قرمز در کنار هم قرار نگرفته و بصورت پراکنده خواهد بود آیا در دلفی دستوری برای برگشت مقدار RGB یک رنگ وجود دارد که مشخص کند در یک رنگ چقدر رنگ قرمز و سبز و آبی وجود دارد اگر وجود دارد لطفاً راهنمایی فرمائید. با تشکر

برای برگشت مقدار قرمز از تابع :
GetRValue
برای برگشت مقدار آبی از تابع :
GetBValue
برای برگشت مقدار سبز از تابع :
GetGValue

می توانید استفاده کنید.

Hadizadeh
سه شنبه 09 مرداد 1386, 17:17 عصر
بله درسته! البته این توابع همون کاری رو که گفتم انجام می دن یعنی بایت هایی رو که گفتم با یک ماسک AND استخراج می کنند.

Arman_1367
چهارشنبه 10 مرداد 1386, 10:19 صبح
حالا به فرض هر رنگ را به سه تا عدد تبدیل کردی حالا چگونه می خواهی سورتشون بکنی.

Hadizadeh
چهارشنبه 10 مرداد 1386, 10:27 صبح
تنها راهش استفاده از فضا های رنگ غیر از RGB مانند HSI/HSV هست. حالا برای چی این کارو می خواهی بکنی؟

S_emadi
چهارشنبه 10 مرداد 1386, 15:34 عصر
دریک برنامه گرافیکی که نوشتم احتیاج به این کدنویسی دارم.

S_emadi
چهارشنبه 18 مهر 1386, 17:27 عصر
با سلام مجدد
=========
من احتیاج به کدی دارم تا تعدادی رنگ که در یک آرایه از نوع TCOLOR وجود دارد بصورت طیف بتوانم در کنار یکدیگر قرار دهم اگر کسی از دوستان در این باره اطلاعاتی دارد خوشحال می شوم من را راهنمایی نماید در ضمن منظور از طیف به این صورت است که مثلاً رنگهای قرمز در کنار هم و رنگهای زرد در کنار هم و بطور کلی هر خانواده از رنگها در کنار یکدیگر قرار گیرند.
================================================== ====
با تشکر فراوان

S_emadi
چهارشنبه 18 مهر 1386, 17:41 عصر
با سلام مجدد
=========
برای سورت رنگها در یک آرایه از نوع TCOLOR بصورتی که رنگهای ازیک خانواده مثلاً کل سبزها در کنار یکدیگر و کل بنفشها در کنار هم و بطور کلی رنگها بصورت یک طیف منظم در کنار یکدیگر چیده شوند چه باید کرد آیا کسی کد و برنامه ای در این زمینه دارد خوشحال می شوم من را راهنمایی فرمائید.
================================================== =====
با تشکر از دوستانی که اینجانب را راهنمایی می فرمایند