جايگزيني انتخابي رنگها در دلفي

alijan

Member
با سلام و خسته نباشيد :)
مدتي است كه به مشكلي برخورده ام كه تا بحال برايم لاينحل مانده است . :( در صورت امكان، اساتيد كمك كنند.
صورت مساله : در برنامه اي كه با دلفي نوشته ام ، يك تصوير رنگي با تعداد رنگ يك ميليون داريم ؛ هدف برنامه اينست كه ما بعنوان يك كاربر ، رنگ پيكسلهاي اين تصوير اوليه كاملا واضح را با رنگ هايي انتخابي كه قبلا توسط ما ( كاربر ) در داخل يك ComboBox ذخيره شده اند جايگزين كنيم ؛ به نحوي كه باز هم تصوير حاصل از اين جايگزيني ، كاملا واضح و البته با تعداد رنگ كمتري باشد ( چون تعداد رنگ موجود در ColorComboBox كاملا محدود وكم است ؛ مثلا 100 رنگ ) .

راه حل اوليه و البته نادرست من : من براي اينكار يك جدول شامل فيلدهاي R , G , B از نوع String ايجاد كردم و در كد برنامه ، تصوير اوليه ( اصلي ) را به صورت سطري و پيكسل به پيكسل اسكن كرده و مقادير سه رنگ اصلي هر پيكسل را در فيلدهاي R , G , B ريختم ؛در ادامه كدي نوشتم كه به كاربر اجازه مي دهد رنگ هاي انتخابي خودش را از ColorDialogBox انتخاب كرده و در يك ColorComboBox بريزد .
حال در ادامه با كليك يك Button ، برنامه تك تك مقادير R , G , B موجود در جدول را ( اين جدول رنگ هاي هر پيكسل تصوير اوليه را در خود ذخيره كرده است ) دوباره از ابتداي جدول خوانده و با رنگ هاي انتخابي كاربر ( موجود در ColorComboBox ) مقايسه نموده و نزديكترين مقدار موجود در ColorComboBox را بر مي گرداند و رنگ پيكسل مربوطه را با آن جايگزين مي كند .
و اما اين برنامه درست عمل نمي كند ؛ چرا كه در اكثر مواقع رنگ جايگزين شده كاملا غير نزديك است و ...

مسلما الگوريتم من اشتباه است . :( الگوريتم صحيح چيست ؟

با تشكر ( علي اكبر )
 

alijan

Member
آقا چرا كسي به ما جواب نميده ؟

با سلام خدمت عزيزان :)
آقا چرا كسي به سوالات ما جواب نميده ؟ :( :( :?: :?: :x :x
يكي دو سوال ديگه هم پرسيده ام ولي بي جواب مونده . :?: :!: :?: :!:

منتظر پاسخهاي شما دوستان بزرگوار هستم.
با تشكر :wink: :)
 

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

بالا